A snapshot: read at commit 707a04c7ce8 on 2026-10-18T00:06:01Z by majordomus 0.29.0. Nothing on this page is read again. See it live
I0809
Record only edges that a file states, each with where it was observed
Where it stands
devtask.issueMoves
plan.transitionWhat it is
- Objective
- Implement the resolve and graph stages: edges derived from the explicit relationships the canonical files already declare — claim to source, implementation and test; issue to milestone and to its dependencies; evidence to issue; doctrine to validator, claim and test; record to task — each carrying the file and field it was observed in, and none carrying a relationship inferred from prose.
- Why
- The repository already contains a dense, hand-maintained, machine-readable graph that no command can traverse. Extracting it costs nothing in accuracy because every edge is stated. Heuristic extraction from prose would add edges nobody wrote, and an edge nobody wrote cannot be checked by the person who would notice it is wrong.
- Now
- docs/CLAIMS.yaml states three relationships per claim; the issue files state a milestone and a dependency list; share/doctrines.yaml states a validator, a claim list, a test and the commands that enforce it; every continuity record states its task. Nothing reads any of them as a graph.
- Wanted
- An edge is a from, a to, a type and a provenance, and the graph stage rejects an edge missing any of the four. Edge types are a closed declared set. A dangling edge — one whose target is not a node — is retained and reported rather than dropped, because a broken reference is the finding.
- Done when
- unknown: the record declares no `completion`
- Risk
- Markdown links are the one edge source that is not curated. Treating a broken external link as the same severity as a broken claim-to-test reference would make a permanent red gate out of an intentional outbound link; ownership and severity have to be distinguished.
Acceptance
- Every edge carries the source file it was observed in, and an edge without provenance is a validation failure rather than a silent drop
- The edge types are a declared closed set and an undeclared type is an error
- Changing a dependency in an issue file changes the graph on the next sync with no generated file edited by hand
- A dangling edge is reported and names both ends
- No edge is produced from a Markdown link whose target is outside the repository
- Validation
bash test/run.sh 74_knowledge_edgesbash test/run.sh 75_knowledge_mutation- Evidence required
provenance_requiredmutation_propagates- Evidence present
provenance_requiredmutation_propagates
Scope
- Touches
lib/knowledge.shlib/knowledge.awktest/cases/74_knowledge_edges.shtest/cases/75_knowledge_mutation.sh- Not
Inferring a relationship from proseAny similarity, clustering or taxonomy generationSession edges, which arrive with the session integration- Depends on
- Priority
- p1
- Profile
- deep-work
- Parallel safe
- false
- Owner
- unknown: the record declares no `owner`
The work so far
- Branches
- none
- Merged
- none
- Commits
0- Trunk
- master
- Sessions
- none
- Created
- 2026-09-04
- Updated
- 2026-09-04T18:31:05Z
- Started
- 2026-09-04T18:14:13Z
- Verified
- unknown: the record declares no `verified_at`
- Completed
- 2026-09-04T18:31:05Z
Synchronisation
- Adapter
scripts/github-sync- Repository
- unknown: the derived plan's header carries no repository
- External issue
- unknown: a live GitHub state; this executable makes no network call, so only `scripts/github-sync --check` can answer it
- State there
- unknown: a live GitHub state; this executable makes no network call, so only `scripts/github-sync --check` can answer it
Findings
Nothing is wrong with these records.