Skip to content

P0 learning quality: learn lint + ADR 0001 validation milestone (T11, T12) - #45

Merged
luisalima merged 4 commits into
mainfrom
feat/learn-lint
Jul 6, 2026
Merged

luisalima merged 4 commits into
mainfrom
feat/learn-lint

Conversation

@luisalima

Copy link
Copy Markdown
Contributor

Two commits advancing the learning-quality track:

T12 (Support sheal learn lint: corpus hygiene checks)

  • lintLearnings scans a learnings store for duplicate LEARN IDs, near-duplicate rules (token Jaccard ≥ 0.4), and learnings with no checkable trigger.
  • sheal learn lint CLI: pretty/JSON output, exit 1 on findings (CI-usable), --global for the user store.
  • TDD: test/learn-lint.test.ts (5 tests) written first and red, then the implementation; includes an end-to-end CLI test.
  • On this repo's real store it immediately surfaced 12 duplicate-ID collisions, 4 near-duplicates, and 2 no-trigger learnings across 55 files.

T11 (Run the ADR 0001 validation milestone: consolidate the LEARN corpus)

One-shot consolidation pass over the real store (55 files, 53 distinct learnings — the store had silently diverged from AGENTS.md's 30). Output in docs/wiki-candidates/:

  • 6 candidate topic pages with member tables, provenance, proposed merged rules, and trigger tables.
  • Contradictions & dispositions: 14 near-duplicate merge groups, 2 genuine precedence conflicts needing a human call, 2 items reclassified as product feedback, 12 mechanical compilation targets (hook/checker instead of prose).
  • Verdict: ADR 0001 acceptance criteria met (92% grouped, contradictions non-empty) — the ADR proceeds toward Accepted, with one revision (topic pages own a trigger table; skills are the delivery vehicle). Strongest evidence: the store already contained a failed ad-hoc consolidation attempt that collided IDs 001–012 because merge/retire don't exist as verbs.

Nothing in .sheal/learnings/ was modified — the wiki-candidates are a reviewable proposal; executing the disposition table is a follow-up task.

Testing

Full suite 319/319 green, lint 0 errors, sheal learn lint demonstrated on the real corpus.

Task trail: docs/tasks/t11-learning-corpus-consolidation-pass.md, docs/tasks/t12-learn-lint-corpus-hygiene.md

🤖 Generated with Claude Code

luisalima and others added 3 commits July 6, 2026 15:32
- lintLearnings scans a store for duplicate LEARN IDs, near-duplicate
  rules (token Jaccard >= 0.4), and learnings with no checkable trigger
- learn lint CLI: pretty/json output, exit 1 on findings (CI-usable)
- On this repo's real store it surfaces 12 duplicate-ID collisions,
  4 near-duplicates, and 2 no-trigger learnings

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…pus)

One-shot consolidation pass over the real store (55 files, 53 distinct
learnings): 6 candidate topic pages with provenance and trigger tables,
contradictions + disposition table, 12 mechanical compilation targets.

Verdict: acceptance criteria met (92% grouped, contradictions non-empty);
ADR 0001 proceeds toward Accepted with one revision — topic pages own a
trigger table, skills are the delivery vehicle. Key evidence: the store
already contained a failed ad-hoc consolidation (short-slug generation)
that collided IDs 001-012 because merge/retire don't exist as verbs.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ation

- Move the dispositions doc out of wiki-candidates: it is ADR 0001's
  change set + review queue, not wiki content — docs/consolidation/
  now holds dated change sets
- T13 (sheal consolidate: emit a reviewable change set): productize the
  pass T11 ran manually
- T14 (compile mechanical learnings into hooks and checkers): emitter v0
  for the change set's 12 mechanical targets

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… in .sheal, snapshots publish on promotion)

- docs/wiki-candidates/ and docs/consolidation/ collapse into
  docs/adr/0001-validation/ — they are evidence for the ADR's acceptance,
  not living data; recurring output belongs to sheal under .sheal/
  (invariant: nothing in docs/ is something sheal regenerates)
- Q6 answered (hybrid): working wiki pages live in .sheal/wiki/, reviewed
  snapshots are published into git on promotion — the git snapshot is an
  emitter target, like compiled skills

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@luisalima
luisalima merged commit 60caeb1 into main Jul 6, 2026
1 check passed
@luisalima
luisalima deleted the feat/learn-lint branch July 6, 2026 16:15
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