Skip to content
Cockpit0.29.0
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.issue
Readiness
complete completion is recorded and every required evidence token is present
Status
DONE
Can start
not now
Milestone
Milestone status
ACTIVE
Wave
3
Waiting on
none
Holds back
Behind it in all
7
Evidence
2 of 2
A move writes the repository: it stamps one field of this issue's record and appends one event to the ledger, and a commit will carry both.
The same moves from a terminal

majordomus plan start I0809

majordomus plan verify I0809

majordomus plan done I0809

What 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.