chore(audit): contrast the third gap surface — reconcile GAP-020/023/025, file COH-016 - #107
Merged
Merged
Conversation
…025, file COH-016
This repository keeps THREE gap surfaces sharing one id namespace: the register
(tracker-gaps-opportunities-tracking.md), the board (tracker-gap-tracking.md)
and the catalog (tracker-gap-reference-catalog.md). check-gap-registry.py kept
the last two in step since the day it was written, and never looked at the
first.
Measured today: 34 ids in common, 5 of them contradicting each other. And
neither surface was the trustworthy one — the board claimed GAP-011 and GAP-017
done while both files were still Spanish, and the register kept three rows open
that the catalog had closed with evidence in July.
Reconciled, each verified against the repository rather than against the other
board:
GAP-023 -> RESOLVED. The 254-line Re-Do design exists with state model,
recalculation algorithm, events and traceability. Its five open items are
scheduling decisions awaiting PO ratification, not missing design.
GAP-025 -> RESOLVED. bounded-context-map.md names the four supporting
contexts and all ten ddd-model.md files exist.
GAP-020 -> REOPENED. This corrects my own closure from earlier today. The
catalog reopened it by product direction and the reason stands: the Tracker
must CONSUME the Core schema references, not merely document them.
The guard now compares the two vocabularies on the only thing both state
unambiguously — closed or not — because inventing an OPEN->PENDING mapping
would be a decision dressed up as a check. Six self-tests; three go red when the
comparison is disabled, verified by disabling it.
COH-016 records the finding so the next reader does not rediscover it.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Promised in a comment on #104 and now measured.
The hole
Three gap surfaces share one id namespace.
check-gap-registry.pykept two of them in step and never looked at the third:tracker-gap-tracking.md(board)tracker-gap-reference-catalog.md(catalog)tracker-gaps-opportunities-tracking.md(register)34 ids in common, 5 contradicting. And neither surface was the reliable one: the board claimed GAP-011 and GAP-017
DONEwhile both files were still Spanish (#105), and the register kept three rows open that the catalog had closed with evidence back in July.Reconciled — each checked against the repository, not against the other board
bounded-context-map.md§2 names the four supporting contexts (Governance, Artifacts, Metrics, Integration) and all tenddd-model.mdfiles exist on disk.The check
It compares the two vocabularies on the only thing both state unambiguously — closed or not. Inventing an
OPEN→PENDING,DEFERRED→?mapping would be a decision dressed up as a check.Six self-tests, all but one negative. Three go red when the comparison is disabled — verified by disabling it, not assumed. The last one guards the symmetric false positive: the surfaces only partially overlap, so an id in one and not the other is not a contradiction.
The step prints
board∩registro: 34 id(s) contrastados de 108on every run, so the partial coverage stays visible.Board: 1 OPEN, 1 DEFERRED, 106 RESOLVED (108 rows — COH-016 added).
🤖 Generated with Claude Code