Knowledge base: withdraw a clause's 'changed by' mark once no accepted record changes it (issue 466) #489

Merged
mesh-tools merged 1 commits from fix/kb-stale-marks into main 2026-10-26 11:33:34 +00:00
Member

Issue 466 (note 12): accept() writes a clause's changed-by mark when a record with a changes link is accepted, and nothing withdrew it when a later accepted version dropped the link. ADR 0536 v12 turned '§4 changes ADR 0525 §10' into a cite; ADR 0525 §10 kept 'changed by ADR 0536 §4', so holds and the whole-set rule partial disagreed with links and get, and the operator got 'A rule of the record set fails: ADR 0525' at 11:08.

New marks.go: StaleMarks/RecomputeMarks drop each changed-by mark whose changing record is accepted and no longer links that clause with changes (marks of non-accepted records, of records the base does not hold and of superseded records stay); judgeSet recomputes first (every acceptance and the keep loop); the tool knowledge_marks recomputes now and says what it withdrew. Idempotent; a second run writes nothing.

Test: TestACorrectionThatDropsAChangesLinkWithdrawsTheClausesMark (fails without the hook). Try try-1793010142616593967 passed. Review notes for later are on issue 466 (note 13).

After delivery: the ADR 0525 condition clears at the next judgement; re-read knowledge-base.findings for the 12 older partial findings.

Reviewed-by: review-kb@shanks at 447e6a13cd

Issue 466 (note 12): accept() writes a clause's changed-by mark when a record with a `changes` link is accepted, and nothing withdrew it when a later accepted version dropped the link. ADR 0536 v12 turned '§4 changes ADR 0525 §10' into a cite; ADR 0525 §10 kept 'changed by ADR 0536 §4', so holds and the whole-set rule `partial` disagreed with links and get, and the operator got 'A rule of the record set fails: ADR 0525' at 11:08. New marks.go: StaleMarks/RecomputeMarks drop each changed-by mark whose changing record is accepted and no longer links that clause with `changes` (marks of non-accepted records, of records the base does not hold and of superseded records stay); judgeSet recomputes first (every acceptance and the keep loop); the tool knowledge_marks recomputes now and says what it withdrew. Idempotent; a second run writes nothing. Test: TestACorrectionThatDropsAChangesLinkWithdrawsTheClausesMark (fails without the hook). Try try-1793010142616593967 passed. Review notes for later are on issue 466 (note 13). After delivery: the ADR 0525 condition clears at the next judgement; re-read knowledge-base.findings for the 12 older partial findings. Reviewed-by: review-kb@shanks at 447e6a13cd68f3d9aa70c7732593a51e24c3ff2c
mesh-tools added 1 commit 2026-10-26 10:37:14 +00:00
Knowledge base: withdraw a clause's changed mark when its changing record's accepted links drop it, on every judgement and by a tool (stale marks)
mesh/delivery merged: source.main moved to novox/mesh-catalog@843281c0e5f0
mesh/check checking 447e6a13cd68 on 565d0a848a85
447e6a13cd
Author
Member

Delivery novox/mesh-catalog@447e6a13cd68 — merged since 2026-10-26T11:33:36Z

Source — source.main moved to novox/mesh-catalog@843281c0e5. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.

Transitions

  • 2026-10-26 10:37 (new) → proposed (announced): novox/mesh-catalog#489's head announced
  • 2026-10-26 10:37 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false)
  • 2026-10-26 11:33 ready → merged (merged): on the trunk its modules follow: merged there

The commit's note under refs/notes/mesh-plan keeps every transition of this change up to its merge: git log --notes=mesh-plan.

<!-- mesh-delivery:view --> **Delivery** `novox/mesh-catalog@447e6a13cd68` — **merged** since 2026-10-26T11:33:36Z **Source** — source.main moved to novox/mesh-catalog@843281c0e5f0. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Transitions** - 2026-10-26 10:37 (new) → proposed (announced): novox/mesh-catalog#489's head announced - 2026-10-26 10:37 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false) - 2026-10-26 11:33 ready → merged (merged): on the trunk its modules follow: merged there The commit's note under `refs/notes/mesh-plan` keeps every transition of this change up to its merge: `git log --notes=mesh-plan`.
mesh-tools merged commit 843281c0e5 into main 2026-10-26 11:33:34 +00:00
mesh-tools deleted branch fix/kb-stale-marks 2026-10-26 11:33:35 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-catalog#489