Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
e5d5711
feat(graph): reverse-edge index (backlinks) — F-ee47fc2b
qwerfunch Jun 29, 2026
f80f0e0
feat(graph): blast-radius impact query — F-7794a6bc
qwerfunch Jun 29, 2026
980e7cb
feat(graph): doc graph — doc↔spec / doc↔doc links + integrity — F-ee5…
qwerfunch Jun 29, 2026
89611e6
feat(graph): knowledge-graph export + hub stats — F-569f4b37
qwerfunch Jun 29, 2026
755be57
chore(graph): link knowledge-graph capability + CHANGELOG + refresh i…
qwerfunch Jun 29, 2026
687f15d
feat(graph): bespoke HTML viewer — SSoT 4-tier colors + slug labels —…
qwerfunch Jun 29, 2026
1541543
feat(graph): live graph view — clad graph serve + clad_get_graph — F-…
qwerfunch Jun 29, 2026
a862217
chore(graph): link viewer + live-serve features to capability + CHANG…
qwerfunch Jun 29, 2026
c729950
fix(graph): viewer canvas was unsized (blank graph) — size to viewpor…
qwerfunch Jun 29, 2026
4584743
feat(graph): viewer overhaul — radial galaxy + always-on ambient + bl…
qwerfunch Jun 29, 2026
18e352a
chore(graph): link galaxy viewer feature to knowledge-graph capability
qwerfunch Jun 29, 2026
22259f5
feat(graph): Obsidian-grade viewer + live conformance heal (killer) —…
qwerfunch Jun 29, 2026
39c1f04
chore(graph): re-attest after viewer build (heal stale attestation)
qwerfunch Jun 29, 2026
bbf061d
fix(graph): viewer aesthetics — collision spacing, visible edges, no …
qwerfunch Jun 29, 2026
f174e4a
feat(graph): WebGL stellar viewer + working-set context tooling (F-77…
qwerfunch Jun 29, 2026
2451887
feat(graph): context-efficiency tooling + the depends_on gap fix (F-9…
qwerfunch Jun 30, 2026
6fb8230
chore(graph): post-audit hygiene — clarify efficiency-report stats + …
qwerfunch Jun 30, 2026
fa789d6
feat(infer-deps): flag dynamic-import files for honest recall (F-0f29…
qwerfunch Jun 30, 2026
df9cdb8
feat(graph): color system — hue=kind only, grouped spec/code/test/doc…
qwerfunch Jun 30, 2026
ac7c887
docs(readme-ko): graph section + live GIF, flat blue-token diagrams, …
qwerfunch Jun 30, 2026
2ac02f2
Merge origin/develop into feature/ssot-knowledge-graph
qwerfunch Jun 30, 2026
70d53eb
chore(attest): re-attest after develop merge — refresh verified tree-…
qwerfunch Jun 30, 2026
7c53496
docs(readme): sync all 4 READMEs + English diagrams to the finalized …
qwerfunch Jun 30, 2026
bdd90d5
chore(attest): re-attest after all-READMEs lockstep
qwerfunch Jun 30, 2026
00e55db
fix(graph): flush stdout before exit — clad graph export truncated pi…
qwerfunch Jun 30, 2026
cc8bbc1
docs(multi-agent): retitle diagram to "agent role separation" (was "p…
qwerfunch Jun 30, 2026
e3796b4
docs(readme): make README.md + README.ko.md markdown-native (readabil…
qwerfunch Jun 30, 2026
f75e08d
fix(attest): re-stamp at 2026-07-01 — CI stale from last_synced cross…
qwerfunch Jul 1, 2026
11444e2
docs(readme): trim prose for concision across all 4 READMEs
qwerfunch Jul 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -68,3 +68,6 @@ playwright-report/
# but should not bloat the repository — keep them local-only.
docs/ab-evaluation-extended/scenarios/*/cladding/
docs/ab-evaluation-extended/scenarios/*/vanilla/

# Local screen recordings — source for README GIFs, regeneratable; keep out of the repo.
*.mov
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ This file is the cross-tool entry point for any AI coding agent working on cladd

## 1. Project

cladding is the reference implementation of the [Ironclad](https://github.com/qwerfunch/ironclad) standard. Multi-agent dev harness; 15 Iron Law stages; 38 drift detectors; polyglot toolchain (9 languages). Successor to harness-boot.
cladding is the reference implementation of the [Ironclad](https://github.com/qwerfunch/ironclad) standard. Multi-agent dev harness; 15 Iron Law stages; 40 drift detectors; polyglot toolchain (9 languages). Successor to harness-boot.

## 2. Setup

Expand Down
66 changes: 66 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,72 @@ Versioning: [Semantic Versioning 2.0](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Knowledge graph (spec↔code↔doc)

**In one line:** the links between spec, code, tests, and docs — which until now
only flowed one way and were scattered across shards — become a single,
always-current graph you can query for impact and *see* in a graph viewer.

> **Heads-up:** this is a **traceability and retrieval** capability, not a
> correctness one. It does not make generated code more correct (cladding's own
> A/B record shows that is orthogonal). What it does: pull the exact relevant
> neighborhood in one call instead of grepping, and stop doc/spec links from
> silently rotting.

**Added**

- **Reverse-edge index (backlinks).** Every forward edge the spec already carries
(`depends_on`, `modules`, `test_refs`) is now also queryable in reverse —
derived in memory, 0 bytes on disk. Module ownership is many-to-many on purpose
(a file records every feature that touches it).
- **`clad impact <feature|file>` + the `clad_get_impact` agent tool.** The blast
radius for a change: everything that transitively depends on it, the scenarios
at risk, and the exact set of tests to re-run. The backward complement of
`clad context` (what this needs) ↔ impact (what depends on this). A module path
fans out to every feature that touches it.
- **Doc graph + link integrity.** `clad sync` indexes which docs reference which
features and which docs link to which docs (`spec/_doc-links.yaml`). A new check
fails on a dead doc-to-doc link and warns on a doc citing a feature that no
longer exists. Scoped to skip fixture dirs, code examples, and docs marked
`clad-doc-links: ignore`, so it stays quiet on illustrative ids.
- **`clad graph export` + `clad graph stats`.** See the whole spec↔code↔doc graph
in a viewer you already have: `--format mermaid` for a PR, `--format obsidian`
for a navigable vault (one note per node with backlinks), `dot`/`json` for any
graph tool. `--focus <id> --depth N` exports just one neighborhood. `stats`
ranks the load-bearing hubs by degree.
- **Our own graph viewer, colored by SSoT layer.** `clad graph export --format
html` writes one self-contained file you can double-click — a dependency-free
interactive graph (no internet, no install). Each spec layer gets its own color
(sealed spec / design / derived / audit), code sits in a neutral tone, and
features show their readable slug instead of an opaque id. Search, filter by
layer or kind, hover to light up a neighborhood, drag to pin, a "Live/Calm"
toggle, light/dark — all in one offline page.
- **A live graph that follows your work.** `clad graph serve` opens the same
viewer at a local address and **updates itself as you edit** — change the spec
or a doc and the open page reflects it, no re-export. Agents can read the same
always-current graph through the new `clad_get_graph` tool.
- **An Obsidian-grade viewer.** The layout is now a continuously-running force
simulation: drag a node and the web stretches and recoils with real tension;
hovering pauses the motion so you can read; four force sliders (center / repel /
link / link distance) retune it live. Each node class has its own color — the
four spec layers, and code/test/doc each distinct — so the structure reads at a
glance.
- **The killer: live conformance, healing as you watch.** Every node carries its
real spec↔code health, computed from cladding's own drift detectors — a feature
whose test went missing, a file no feature claims, a doc pointing at a deleted
feature. Problem nodes glow; **fix the drift and the glow clears in real time**
(`clad graph serve`), with a top "in-sync %" pill. The graph IS the gate, made
visible — something only a tool that keeps spec and code connected-and-current
can show. (Static exports embed a point-in-time snapshot.)

**Notes**

- Drift detectors: 37 → 40 — this work adds `DOC_LINK_INTEGRITY` and `INFERABLE_DEPENDS_ON`; develop's `UNVERIFIED_AC` (below) is the third.
- The viewer is hand-rolled (no bundled third-party graph library) to stay
dependency-free and fully offline; the layout draws itself and settles, then
stays calm. It is a way to *see and navigate* the spec↔code↔doc structure, not
a correctness check — run `clad check` for that.
- Design + measured cost/benefit model: `docs/knowledge-graph/design.md`.
### Added

- **EARS `complex` pattern — the 6th canonical shape** (`F-9d168287`) — `src/spec/ears.ts`
Expand Down
Loading
Loading