Skip to content

skills-integrity: residuals batch (F12, F14-residual, F26) + mode-card integrity paragraphs - #1101

Merged
aarontrowbridge merged 4 commits into
mainfrom
aaron/skills-integrity-residuals
Sep 13, 2026
Merged

aarontrowbridge merged 4 commits into
mainfrom
aaron/skills-integrity-residuals

Conversation

@aarontrowbridge

Copy link
Copy Markdown
Member

Four-item residuals slice from the skills-integrity deep pass (audit-20260913-skills-deep-pass), per the director's brief. Draft — do not merge.

Item 1 (F12) — skills/research/SKILL.md

One reconciliation sentence at the campaign-ledger path definition: the session ledger lives in the personal vault (sessions/session-<YYYYMMDD>-<slug>.md, per director-core's discovery rule); project-local ledger/campaigns/ serves Research-Project-scoped work and reconciles to it at each loop boundary. Nothing else restructured.

Item 2 (F14-residual) — AGENTS.md

Setup clone URL corrected: harmoniqs/amicode (was the amicissimode typo).

Item 3 (F26) — vault-schemas/generate.mjs + committed contract

The LEGACY block mirrored the OLD amico-schema-check table. PR #1052 made amico-vault the single owner and explicitly flagged this generator as the follow-up slice ("the single-owner cleanup should extend to it as a separate slice; vault_schemas.test.ts pins those committed schemas against fixtures, so it belongs with its own RED→GREEN cycle") — this is that slice.

  • Required sets now mirror the aligned amico-schema-check table (itself the field-for-field mirror of amico-vault): phantom required source dropped on insight/hypothesis/method; required-but-nullable session_id everywhere; paper gains title/date_read/relevance/systems; spec/plan gain visibility (plan also spec); retrospective gains outcome; org gains domain+relationship; device gains device_class+location; meeting gains org+topic.
  • amico-vault's closed vocabularies are enums (task_type, statuses, relevance, outcome, failure_mode, device_class, relationship, visibility, ingest source); fidelity ∈ [0,1] and duration_us ≥ 0 bounds unchanged.
  • Regenerated the 12 committed card schemas (node vault-schemas/generate.mjs); memory families, tension, tombstone, record schema, and plane-residency are untouched.
  • Fixtures + vault_schemas.test.ts realigned in the same mechanical pass: legacy extras stay tolerated (additionalProperties: true), each invalid fixture keeps its intended violation as the only one, missing-required.json now pins $.session_id. 137/137 vault_schemas tests green (34 RED → 0 after alignment).

Item 4 — mode-card integrity paragraphs (ADR-0005 hold lifted)

≤3 lines per card, mode-binding sections only; DIRECTOR-SPINE and ledger-discovery-rule generated regions untouched; frontmatter untouched; agents/ mirrors modes/ byte-identically (AC9).

  • develop — Integrate bullet: gate suite includes the skills-integrity lint when present on the branch; merged API-surface changes grep-checked against skill references (hits → ledger findings). Dispatch-discipline paragraph: loop-boundary ledger update carries the campaign's skill delta (findings filed, skills touched, proposals pending).
  • research — loop-binding paragraph: analyzer cast carries the skill-friction check (instructions-vs-reality mismatches → findings; repeated un-skilled idioms → skill proposals); record boundary carries the same skill-delta row.

Verification — full pnpm --filter amicode test (fresh worktree, this branch)

failed passed skipped
pristine origin/main baseline (same machine, separate worktree) 9 3468 49
this branch 10 3468 48

The 10 on this branch = the same 9 environmental baseline failures (amicode_service_runner ×1 app-dist, chat_bridge ×2 dev-tools symlink, skill_drift_lint ×2 Strumento fleet packages, main_source_resolver ×2, rebuild_coordinator ×2 timeouts) + cli_gate "really staged bins" ×1, which fails identically on pristine origin/main when run in isolation (it was skipped in the baseline full run — the local bin/dist staging artifact materialized between runs; 49th skip vs 48th). No failure is attributable to this diff.

Focused suites: vault_schemas 137/137; mode_cards, mode_cards_staging, mode_registry, mode_registry_staging, mode_block, mode_transition_engine, skills_integrity (real-tree lint green against the known list), workflow_skills_public — all green (191 passed, 1 pre-existing skip).

…o the session ledger (F12)

One sentence at the ledger path definition: the session ledger lives in the
personal vault per director-core's discovery rule; project-local
ledger/campaigns/ serves Research-Project-scoped work and reconciles to it
at each loop boundary. The two-database split-brain (research 'the project
is the database' vs director-core 'the vault is the database') is the
skills-integrity audit's F12.
…rdination hold lifted)

- develop card, Integrate bullet: the gate suite includes the skills-integrity
  lint when present on the branch; merged work that changed a package API
  surface is grep-checked against skill references (hits become ledger findings).
- develop card, dispatch discipline: the loop-boundary ledger update includes
  the campaign's skill delta (findings filed, skills touched, proposals pending).
- research card, loop binding: the analyzer cast carries the skill-friction
  check (instructions-vs-reality mismatches become findings; repeated
  un-skilled idioms become skill proposals), and the record boundary carries
  the same skill-delta row.

DIRECTOR-SPINE and ledger-discovery-rule generated regions untouched;
agents/ mirrors modes/ byte-identically (AC9). Mode-cards/registry suites green.
…ault (F26)

The LEGACY block mirrored the OLD amico-schema-check table; PR #1052 made
amico-vault the single owner and flagged this generator as the follow-up
slice. This aligns it field-for-field with the authority (mirrored in the
aligned amico-schema-check card):

- insight/hypothesis/method drop the phantom required 'source'; every note
  type gains required-but-nullable session_id (uuid or null, present either
  way per amico-vault 'Session ID').
- paper gains title/date_read (replacing the wrong 'date')/session_id/
  relevance/systems.
- spec/plan gain session_id + visibility; spec drops nullable priority/
  platform from required; plan gains spec.
- retrospective gains session_id + outcome; org gains domain + relationship;
  device gains device_class + location; meeting gains org + topic;
  method's applicability becomes the authority's array form.
- amico-vault's closed vocabularies (task_type, statuses, relevance,
  outcome, failure_mode, device_class, relationship, visibility, ingest
  source) are enums; fidelity/duration bounds unchanged.

Mechanical regeneration: node vault-schemas/generate.mjs rewrote the 12
committed card schemas (memory families, tension, tombstone, record, and
residency untouched). The fixture corpus and vault_schemas.test.ts pins
followed the same alignment: legacy extras (e.g. insight's source) stay
tolerated under additionalProperties:true; the invalid corpus keeps each
intended violation the only one; missing-required.json now pins the new
required gap ($.session_id). 137/137 vault_schemas tests green.
@coderabbitai

coderabbitai Bot commented Sep 13, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 925eed41-4c65-48a6-a667-81ff1212c516


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@aarontrowbridge
aarontrowbridge marked this pull request as ready for review September 13, 2026 22:16
@aarontrowbridge
aarontrowbridge merged commit 0945643 into main Sep 13, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant