charter: a measured fact in an addendum must carry its own deletion trigger
The operator chose this and its size; the reasoning below is the fleet01 lead's. Placed in the canonical block's boundary paragraph rather than the orchestration body. That paragraph already talks about the addendum layer instead of protocol, every project that mounts the bridge inherits it, and it sits about 3800 characters before the primary's step list, so it does not dilute the steps a lead reads while working. Perishability is structurally an addendum problem: the block is byte-identical across projects by construction, so a dated local measurement in the block body would already be a layering violation. What happened. The fleet01 lead's kb addendum held a dated merge-refusal section that carried an instruction to delete itself once it stopped reproducing. On 2026-09-08 UTC the operator granted merge rights on akb/kb, the lead re-ran the probe, got 409 'head out of date' where the identical request had returned 405 'User not allowed to merge PR' on 2026-09-06, and deleted the section as instructed. Why four parts and not one. The lead's finding is that the banner did not work because it was emphatic. It worked because the falsification condition was executable: it carried the exact probe, the reason for the all-zeroes head_commit_id, and what each response code meant. The lead did not have to reconstruct the experiment or decide what would count as refutation, and just ran it. A banner saying 'this may be out of date, verify before relying on it' costs the same space and does nothing, because deciding what would falsify a claim is the expensive step and a reader in the middle of another task will not pay it. So: the date, the command, what each outcome means, and the instruction to delete. The fourth without the second is decoration. The closing clause is the justification for the machinery. Most stale notes are merely wrong. This one went stale in the dangerous direction: it would have told a future lead it could not merge at the exact moment merging became its job, silently and with confidence. A note that goes harmlessly stale does not need this. Note what is NOT centralized here. The banner text itself cannot be. What fired for the lead was a specific instruction sitting on top of the specific stale fact, which it could not read past on its way to acting. A rule elsewhere saying 'date your measurements' would not have fired, because nobody reads that rule at the moment they re-measure. This sentence sets the convention; the trigger still has to live next to the fact it governs. Propagated to the wiki template in the same turn, wiki 8c4f152 on main; the sync check in this file's addendum reports 'in sync: True'.
This commit is contained in:
@@ -7,6 +7,14 @@
|
||||
> wiki ([Use Cases](https://git.ltms.dev/fleet/fleetd/wiki/7-Use-Cases) → *The portable
|
||||
> CLAUDE.md block*); improvements go to the template first, then out to each project. Anything
|
||||
> specific to *this* repo lives under §Project addendum below, never inline above it.
|
||||
>
|
||||
> **Anything you measure in an addendum is perishable.** Date it, give the command that
|
||||
> re-measures it and what each outcome means, and tell the reader to delete the section once
|
||||
> it stops reproducing. The four parts work together: deciding what would falsify a claim is
|
||||
> the expensive step, and a reader in the middle of another task will not pay it, so a bare
|
||||
> "verify before relying on this" costs the same space and does nothing. The case this is for
|
||||
> is a note that goes stale as a live restriction — it will tell a future session it cannot do
|
||||
> the thing at the moment doing it becomes the job.
|
||||
|
||||
If no `fleet_*` MCP tools are mounted in this session, this section does not apply — skip it.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user