Skip to content

Commit c5ed483

Browse files
authored
Merge pull request #409 from AdaWorldAPI/claude/activate-lance-graph-att-k2pHI
Activate ATT NLSpecs + integration plans + odoo_alignment cache
2 parents c2416d9 + ecb92c0 commit c5ed483

16 files changed

Lines changed: 3451 additions & 0 deletions

.claude/ATT/ACTIVATION.md

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
# `.claude/ATT/` — Activation Receipt for `lance-graph`
2+
3+
> **Activated:** 2026-05-21 on branch `claude/activate-lance-graph-att-k2pHI`
4+
> **Scope:** Single-repo activation (lance-graph only). Other repos in
5+
> the 26-repo rollout activate via their own branches.
6+
7+
## What "activated" means in this repo
8+
9+
The three NLSpecs at `.claude/ATT/*.md` (`autoattended-orchestrator-spec.md`,
10+
`anti-skim-agent-spec.md`, `agent-coordination-mcp-spec.md`) were
11+
imported as the engineering specification governing this repo's
12+
`.claude/agents/` ensemble. Activation wires the spec into four
13+
workspace plumbing surfaces:
14+
15+
| Surface | Change | Purpose |
16+
|---|---|---|
17+
| `.claude/settings.json` | Added Edit/Write/MultiEdit deny rules for the 8 append-only bookkeeping files (`PR_ARC_INVENTORY.md`, `LATEST_STATE.md`, `STATUS_BOARD.md`, `INTEGRATION_PLANS.md`, `EPIPHANIES.md`, `ISSUES.md`, `IDEAS.md`, `TECH_DEBT.md`). | Closes [coordination-mcp-spec §7.2 / §9 DoD](./agent-coordination-mcp-spec.md#72-enforcement) — append-only governance now enforced at the settings layer, matching what `.claude/BOOT.md` already claimed was enforced. |
18+
| `.claude/agents/BOOT.md` | New "ATT NLSpec Coupling" section near the top maps the four quality-lifecycle agents (`convergence-architect`, `preflight-drift-auditor`, `baton-handoff-auditor`, `brutally-honest-tester`) to ATT slots PP-14, PP-16, PP-15, PP-13 with non-overlapping verdict vocabularies. | Documents the operator ↔ engineering mapping. The agents already existed; this records the slot they occupy in the ATT taxonomy. |
19+
| `.claude/BOOT.md` | "Existing content" section now points at both `.claude/EN/` (operator) and `.claude/ATT/` (engineering), naming the three NLSpecs. | New sessions learn the spec exists during the mandatory bootload. |
20+
| `.claude/hooks/session-start.sh` | Added an "Engineering spec" block to the `additionalContext` injected at SessionStart. | New sessions see the ATT pointer as a system reminder on turn 1. |
21+
22+
No code under `crates/` was touched. Activation is documentation /
23+
plumbing only.
24+
25+
## Definition-of-Done audit (per spec)
26+
27+
The three ATT specs each ship a DoD checklist. The status below is
28+
honest as of the activation date — claims marked SATISFIED have a
29+
named home in this repo; PARTIAL items have some coverage with a
30+
known gap; GAP items have no current implementation and are filed
31+
for follow-up work.
32+
33+
### `autoattended-orchestrator-spec.md` §10
34+
35+
| DoD item | Status | Lives at |
36+
|---|---|---|
37+
| Sprint plans are DOT graphs or §6.4-YAML mirrors with required attrs | PARTIAL | `.claude/board/sprint-log-{10..13}/` carry YAML-ish plans; not all required node/edge attrs are present. Gap for new sprints. |
38+
| Validation rules §7 WAVE-001..WAVE-015 run via `preflight-drift-auditor` and block on ERROR | PARTIAL | `preflight-drift-auditor` exists (`.claude/agents/preflight-drift-auditor.md`) and `.claude/tools/preflight_drift.rs` exists; the WAVE-NNN rule IDs are not yet a one-to-one match. |
39+
| Every worker spawns with `isolation: "worktree"` | SATISFIED | Agent tool default for spawned workers in current sessions. |
40+
| Every worker writes a `status.json` matching §9.1 | GAP | Workers currently emit free-form completion text. `status.json` schema not enforced. |
41+
| Missing `status.json` = FAIL (`auto_status=false`) | GAP | No status file is required today; this is the headline gap. |
42+
| Four savants present with non-overlapping verdict vocabularies + non-use route-tables | SATISFIED | Mapping documented in `.claude/agents/BOOT.md § ATT NLSpec Coupling` (this activation). |
43+
| PP-13 owns Rust Tier-1 toolchain | SATISFIED | `.claude/agents/brutally-honest-tester.md` is wired to `cargo clippy / cargo fmt / cargo test / cargo audit / cargo deny`. |
44+
| PP-15 owns BAP1..BAP10 + 8 boundary classes | PARTIAL | `.claude/agents/baton-handoff-auditor.md` exists; explicit BAP1..BAP10 enumeration not in the card. |
45+
| PP-16 owns PD1..PD10 + 6 axes + §7 validation | PARTIAL | `.claude/agents/preflight-drift-auditor.md` + `.claude/tools/preflight_drift.rs`; PD-IDs not yet enumerated. |
46+
| Worker briefs declare `proof_of_read: true` + unique `sentinel_token` | GAP | No worker template enforces sentinel tokens today. |
47+
| Meta-agent drains REQUESTS-FROM-AGENTS.md ≥ 2×/day | GAP | No `META/REQUESTS-FROM-AGENTS.md` file; `.claude/board/AGENT_LOG.md` is the closest analogue. |
48+
| PR review classifies findings ONLY as P0 or P1 | SATISFIED | Existing convention in `.claude/board/PR_ARC_INVENTORY.md`. |
49+
| `INVARIANTS.md` ≤ 500 lines | N/A | No `INVARIANTS.md` in this repo (iron rules live in `CLAUDE.md`). |
50+
| One consolidation commit per wave at shared registry; zero N-mini-commit anti-pattern | PARTIAL | Convention followed by recent sprints; not yet a validation rule. |
51+
| Files > 150 lines written via `tee -a` (chunking discipline) | PARTIAL | BOOT.md mandates `tee -a` for the 8 bookkeeping files; not yet enforced for all > 150-line writes. |
52+
| Context Fidelity ladder §11A with precedence edge > node > graph > default | GAP | Context fidelity is not currently configured. |
53+
| `fidelity=truncate` does NOT exempt the §3.3 reading-depth ladder | N/A | Depends on the fidelity ladder being live; see above. |
54+
55+
### `anti-skim-agent-spec.md` §10
56+
57+
| DoD item | Status | Lives at |
58+
|---|---|---|
59+
| Every worker brief contains a unique `sentinel_token` | GAP | Not enforced. |
60+
| Worker first-reply begins with sentinel verbatim | GAP | Not enforced. |
61+
| Workers emit `status.json` with proof-of-read entries per file | GAP | See orchestrator §9.1 gap above. |
62+
| Proof-of-read entries declare `sha256` + `lines` + depth | GAP | No structured proof-of-read today. |
63+
| Workers run §6.1 tool-call loop detector after every tool call (N=10) | GAP | Tool-call loop detection is not implemented; AP9 is described in the spec but not detected automatically. |
64+
| Stuck workers use one of five §5.1 blocker types | GAP | No structured blocker schema today. |
65+
| Meta-agent spot-checks one of LD-1..5 per savant per wave | GAP | No rotating spot-check protocol today. |
66+
| Drift signals §4.3 scanned before goal-gate verdict | PARTIAL | `preflight-drift-auditor` runs board-vs-Cargo drift; LD-style drift signals not a separate scan. |
67+
| PP-13 runs Tier-1 toolchain; Tier-1 failure → FAIL | SATISFIED | See orchestrator audit row above. |
68+
| PP-13 anti-pattern scan covers AP1..AP9 | PARTIAL | `brutally-honest-tester.md` covers codex-class bugs; not all 9 APs are enumerated. |
69+
| Tool-output truncation surfaces in proof-of-read as `truncated:head-N` / `truncated:tail-N` | GAP | Proof-of-read not yet structured. |
70+
| `auto_status=false` mandatory; missing `status.json` = FAIL | GAP | See orchestrator §9.1 gap above. |
71+
72+
### `agent-coordination-mcp-spec.md` §9
73+
74+
| DoD item | Status | Lives at |
75+
|---|---|---|
76+
| Three layers (Teleport / Blackboard / Branch Pub/Sub) implementable with existing primitives | SATISFIED | `.claude/agents/*.md` (Layer-0), `.claude/board/AGENT_LOG.md` (Layer-1), `mcp__github__subscribe_pr_activity` (Layer-2). |
77+
| Native MCP endpoints §5.1–§5.4 OR documented workaround | SATISFIED | Workaround mode (file blackboard + GitHub MCP) is the documented fallback. |
78+
| `BlackboardEntry`, `ProofOfRead`, `Handover`, `RequestEntry`, `AnswerEntry` schemas implemented + validated | PARTIAL | `Handover` schema present (`.claude/agents/BOOT.md § Handover Protocol`); other four are described in the ATT spec but not implemented as validators in this repo. |
79+
| Append-only governance §7 enforced at `.claude/settings.json` for the 8 bookkeeping files | **SATISFIED** | **Closed by this activation** — see `.claude/settings.json` deny rules added in this commit. |
80+
| Single-mutable-file invariant: `Stand.md` / `STATUS_BOARD.md` is the ONLY file workers may overwrite | PARTIAL | `STATUS_BOARD.md` is in the deny list now (immutable rows; only Status column is mutable per BOOT.md table). The "only file workers may overwrite" invariant is not yet enforced as a positive allowlist. |
81+
| Decision matrix §4 followed: workers use right transport for right message | SATISFIED | Documented in `.claude/agents/BOOT.md § A2A Orchestration`. |
82+
| Coordination PRs are draft, named `claude/<topic>`, marked `Do not merge` | SATISFIED | Branch convention followed; "Do not merge" body marker is per-PR. |
83+
| Handover files use §6.3 schema with required sections | SATISFIED | `.claude/agents/BOOT.md § Handover Protocol` matches §6.3 schema. |
84+
85+
## Headline gaps for follow-up
86+
87+
The activation closes one DoD item outright (append-only governance
88+
at settings layer) and documents the operator ↔ engineering mapping
89+
for the four quality-lifecycle savants. The structural gaps that
90+
remain — and are filed for separate PRs, not this activation:
91+
92+
1. **`status.json` + proof-of-read schema** (orchestrator §9.1,
93+
anti-skim §7) — workers do not yet emit structured status with
94+
per-file `sha256` + `lines` + depth. This is the largest single
95+
gap and the headline conformance item.
96+
2. **Sentinel-token / Lie-Detector LD-1..5 enforcement** (anti-skim
97+
§4) — no spot-checks today.
98+
3. **Tool-call loop detection N=10** (anti-skim §6) — not
99+
implemented.
100+
4. **Typed blocker schema for stuck workers** (anti-skim §5) — no
101+
schema today.
102+
5. **DOT-graph sprint plans with WAVE-001..WAVE-015 validation**
103+
(orchestrator §6–§7) — current YAML-ish plans don't carry all
104+
required node/edge attrs.
105+
106+
Each gap should be addressed via a dedicated PR rather than bundled
107+
into this activation, so the "spec is wired, code-level gaps are
108+
visible" property of this receipt remains intact.
109+
110+
## Provenance
111+
112+
- Source spec: `.claude/ATT/README.md` (this directory)
113+
- EN sibling: `.claude/EN/README.md`
114+
- Format inspiration: [strongdm/attractor](https://github.com/strongdm/attractor)
115+
- Activation branch: `claude/activate-lance-graph-att-k2pHI`

.claude/BOOT.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,19 @@ should reference these, not recreate them:
193193
- **`.claude/hooks/*.sh`** — SessionStart and PostCompact hooks
194194
wired via `.claude/settings.json`.
195195
- **`.claude/skills/cca2a/`** — the A2A pattern explanation skill.
196+
- **`.claude/EN/`** — project-agnostic multi-agent kit (operator
197+
cheat-sheet, in-session use). See `.claude/EN/README.md`.
198+
- **`.claude/ATT/`** — Attractor-style NLSpec restatement of the
199+
same kit (engineering spec, build-time use). Three specs:
200+
`autoattended-orchestrator-spec.md` (wave loop, 4-savant slots,
201+
worker iron rules, validation WAVE-001..WAVE-017),
202+
`anti-skim-agent-spec.md` (Reading-Depth Ladder, Lie-Detector
203+
LD-1..5, stuck-protocol blockers, AP1..AP9), and
204+
`agent-coordination-mcp-spec.md` (Layer-0/1/2 coordination,
205+
handover schema, append-only governance §7.2). DoD checklists
206+
+ Cross-Language/Provider Parity Matrix at the end of each spec.
207+
Activation receipt: `.claude/ATT/ACTIVATION.md`. See
208+
`.claude/ATT/README.md` for the EN↔ATT relationship.
196209
197210
Before creating a new `.claude/*.md` file, grep the existing 61
198211
docs and 41 prompts for the topic. Most architectural concerns have

.claude/agents/BOOT.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,43 @@ This folder contains focused agent cards for `lance-graph`.
55
The goal is not to multiply personalities for decoration.
66
The goal is to keep unlike architectural concerns from being flattened into one fuzzy voice.
77

8+
## ATT NLSpec Coupling (engineering spec for this ensemble)
9+
10+
This file is the **operator's** view of the ensemble (which agent to wake,
11+
what trigger fires it, what knowledge it loads). The **engineering** view
12+
lives at `.claude/ATT/`, in three Attractor-style NLSpecs:
13+
14+
| ATT spec | Governs | Anchors in this ensemble |
15+
|---|---|---|
16+
| [`.claude/ATT/autoattended-orchestrator-spec.md`](../ATT/autoattended-orchestrator-spec.md) | Wave-loop, 4-savant verdict gates, worker iron rules, DOT-graph plan format, `status.json` schema (`auto_status=false`), validation rules WAVE-001..WAVE-017. | The 4 savants (PP-13/14/15/16) below ARE the four slot-occupants. Quality-lifecycle rows in the Knowledge Activation table route work into the corresponding slot. |
17+
| [`.claude/ATT/anti-skim-agent-spec.md`](../ATT/anti-skim-agent-spec.md) | Reading-Depth Ladder (grep→read→thorough→fan-out), Lie-Detector LD-1..5 (sentinel / proof-of-read SHA / 3-section challenge / negative-knowledge / line-range quote), typed stuck-protocol blockers, tool-call loop detection, Tier-1/2/3 toolchains, AP1..AP9 anti-patterns. | Every worker spawned by any agent in this ensemble is subject to LD-1..5. PP-13 (`brutally-honest-tester`) owns the §8.1 Tier-1 toolchain for Rust. The Handover Protocol below is the proof-of-read carrier. |
18+
| [`.claude/ATT/agent-coordination-mcp-spec.md`](../ATT/agent-coordination-mcp-spec.md) | Three coordination layers (Layer-0 teleportation, Layer-1 file blackboard, Layer-2 branch pub/sub), structured handover schema, decision matrix, `BlackboardEntry`/`ProofOfRead`/`Handover`/`RequestEntry`/`AnswerEntry` schemas, append-only governance §7. | `.claude/board/AGENT_LOG.md` IS the Layer-1 blackboard. `.claude/handovers/*.md` (§ Handover Protocol below) are the Layer-3 structured handovers. The 8 append-only bookkeeping files are enforced via `.claude/settings.json` deny rules (§7.2 enforcement). |
19+
20+
**Quality-lifecycle slot mapping** (the bottom block of the Knowledge
21+
Activation Protocol table below maps each lifecycle phase to one savant;
22+
the ATT spec calls these PP-13/14/15/16):
23+
24+
| Lifecycle phase | This ensemble (agent card) | ATT slot | Verdict vocabulary (non-overlapping per §4.2) |
25+
|---|---|---|---|
26+
| PRE-PLAN — divergent expansion | `convergence-architect` | PP-14 | EPIPHANY / INVARIANT-CANDIDATE / WITHDRAW |
27+
| PRE-SPAWN — preflight drift | `preflight-drift-auditor` | PP-16 | DRIFT-BLOCK / DRIFT-WARN / DRIFT-CLEAR |
28+
| DURING-IMPL — boundary handoff | `baton-handoff-auditor` | PP-15 | BAP-HIT / BAP-CLEAR / OUT-OF-SCOPE |
29+
| POST-IMPL — within-crate bug hunt | `brutally-honest-tester` | PP-13 | FAIL / PASS / WAIVED |
30+
31+
**Why both EN and ATT?** `.claude/EN/` is the project-agnostic operator
32+
cheat-sheet (prose, in-session use); `.claude/ATT/` is the same kit
33+
restated as NLSpec with DoD checklists, validation rules, and a
34+
cross-language parity matrix (build-time use). Either can stand alone;
35+
together they let a coding agent both *follow* the pattern in-session
36+
and *implement / audit* it across the 26-repo rollout. See
37+
[`.claude/ATT/README.md`](../ATT/README.md) for the two-document split
38+
rationale and the five wins adopted from `strongdm/attractor`.
39+
40+
**ATT activation receipt** for this repo: see
41+
[`.claude/ATT/ACTIVATION.md`](../ATT/ACTIVATION.md) — records which
42+
Definition-of-Done items are currently satisfied by this ensemble and
43+
which are explicit gaps.
44+
845
## Existing agents
946

1047
### `container-architect`

0 commit comments

Comments
 (0)