F7 Plugin provenance
- Area
- F — Extensibility
- Audience
- operator
- Kind
- feature
- Status
- accepted
- Maturity
- shipped
- Shipped in
- 0.16.0
- Labels
- extensibility, ux, verification
The feature in the specification · Read at
Requirements
Every change a plugin makes MUST be journalled in the same record as any other change, with the plugin named as the operation.
A plugin's changes MUST appear in the change history and MUST be classified by the rollback layer like any other change.
Wherever a setting, wiring or check is shown, its origin — bundled, operator, or a named plugin — MUST be shown beside it.
- locked by
- 0.16.0 met
- recorded done
- lemonfibercrates/lemonfiber-core/src/wiring.rscrates/lemonfiber-core/src/wiring/settling.rscrates/lemonfiber-core/src/doctor.rs
- recorded partial
- lemonfiber-companionapp-modules/kernel/src/Api/Finding.phpapp-modules/kernel/src/Api/Setting.phptests/Feature/SeeingWhatAStackIsSetToTest.php
- cited by
- lemonfiber@599816ca1dlemonfiber-web@77c956d903
A value a plugin has overridden MUST expose both the value in force and the bundled value it replaced.
- locked by
- 0.16.0 met
- recorded done
- lemonfibercrates/lemonfiber-core/src/origin/journalled.rscrates/lemonfiber-core/src/app/configuring.rscrates/lemonfiber-core/src/origin.rs
- recorded partial
- lemonfiber-companionapp-modules/kernel/src/Api/WhatItReplaced.phpapp-modules/kernel/src/Api/WhoPutItThere.phpapp-modules/kernel/tests/Api/WhatItReplacedTest.phpapp-modules/kernel/tests/Api/WhoPutItThereTest.php
- cited by
- lemonfiber@c155500c23lemonfiber@f2519ad9cclemonfiber-web@7a406ebeab
A single read MUST list every installed plugin with its origin, whether it was reviewed, what it claims and fills, what it added, substituted and overrides, the hosts it reaches, the secrets it holds, and when it was installed.
A plugin MUST declare every bundled thing it will override, and the rehearsal MUST state the full extent before anything is written.
Changing anything a plugin did not declare MUST fail validation.
A plugin's secrets MUST appear on the credentials surface attributed to the plugin, and MUST NOT expose their values.
A plugin's declared hosts MUST appear in the account of what leaves this machine, attributed to the plugin.
- locked by
- 0.16.0 met
- recorded done
- lemonfibercrates/lemonfiber-core/src/outbound/theirs.rs
- recorded partial
- lemonfiber-companionapp-modules/kernel/src/Api/ARequestOfTheirs.phpapp-modules/sdk/src/Api/WhatLeaves.phpapp-modules/sdk/tests/Api/WhatLeavesTest.phptests/Feature/SeeingWhatLeavesTest.php
- cited by
- lemonfiber@7021f08143
A value left in force by a removed plugin MUST be reported as orphaned, naming the plugin that set it.
- locked by
- 0.16.0 met
- recorded done
- lemonfibercrates/lemonfiber-core/src/origin/journalled.rscrates/lemonfiber-core/src/app/configuring.rscrates/lemonfiber-core/src/origin.rs
- recorded partial
- lemonfiber-companionapp-modules/kernel/src/Api/WhoPutItThere.phpapp-modules/health/tests/Api/Queries/InCategoryTest.phpapp-modules/health/tests/Api/Queries/TheCauseBeforeItsSymptomsTest.php
- cited by
- lemonfiber@c155500c23lemonfiber@f2519ad9cclemonfiber-web@7a406ebeab
An origin that cannot be determined MUST be reported as unknown and MUST NOT be reported as bundled.
- locked by
- 0.16.0 met
- recorded done
- lemonfibercrates/lemonfiber-core/src/origin.rscrates/lemonfiber-core/src/wiring.rscrates/lemonfiber-core/src/wiring/settling.rscrates/lemonfiber-core/src/doctor.rs
- recorded partial
- lemonfiber-companionapp-modules/kernel/src/Api/AnOriginIsUnnamed.phpapp-modules/kernel/src/Api/WhoPutItThere.phptests/Feature/SeeingWhatLeavesTest.phptests/Feature/SeeingWhoPutACheckThereTest.php
- cited by
- lemonfiber@d3e6b53cfclemonfiber-web@77c956d903
Plugins MUST NOT have parallel surfaces of their own for secrets, outbound traffic or settings; they MUST appear on the existing ones.