Skip to content

profile/tools.json: m-modern-corpus now ships Phase 0 contract#6

Merged
rafael5 merged 1 commit into
mainfrom
chore/note-m-modern-corpus-onboarded
May 11, 2026
Merged

profile/tools.json: m-modern-corpus now ships Phase 0 contract#6
rafael5 merged 1 commit into
mainfrom
chore/note-m-modern-corpus-onboarded

Conversation

@rafael5
Copy link
Copy Markdown
Contributor

@rafael5 rafael5 commented May 11, 2026

Summary

Companion to m-modern-corpus PR #2 (just merged) which onboarded m-modern-corpus into the Phase-0 contract.

Adds pointer URLs to its entry in `profile/tools.json`:

  • `agent_instructions` → `AGENTS.md`
  • `repo_meta_url` → `dist/repo.meta.json`
  • `manifest_url` → `dist/manifest.json`
  • `stats_url` → `dist/stats.json`
  • `license` updated to `LicenseRef-mixed-per-subdir` (was free-text — now matches the SPDX-ish identifier the manifest uses)

The remaining hand-curated lines (`role`, `consumed_by`, `upstream_projects`, `calibrates`) stay until Phase 1 ships `build-catalog.py`. Once that generator lands, those fall away too — replaced by counts derived mechanically from the manifest.

Tier-2 onboarding per `AI-discoverability-plan.md` §3.4 / `phase1-plan.md` §9. Phase 2 exit for m-modern-corpus is satisfied at merge of the upstream PR; this is the org-side complement.

Test plan

  • `make validate-catalog` green (catalog still parses)
  • CI green on this PR

Adds the Phase-0 pointer URLs to the m-modern-corpus entry after
m-modern-corpus PR #2 (phase2-onboarding) landed:

- agent_instructions: AGENTS.md
- repo_meta_url:      dist/repo.meta.json
- manifest_url:       dist/manifest.json
- stats_url:          dist/stats.json
- license:            LicenseRef-mixed-per-subdir (was free-text)

The hand-curated lines (role, consumed_by, upstream_projects,
calibrates) stay until Phase 1 ships build-catalog.py. Once the
generator lands, those fall away too — replaced by counts derived
mechanically from the manifest.

Tier-2 onboarding per AI-discoverability-plan.md §3.4 / phase1-plan.md
§9. Phase 2 exit for this repo: satisfied at merge of upstream PR #2.
@rafael5 rafael5 merged commit cf7b69c into main May 11, 2026
1 check passed
@rafael5 rafael5 deleted the chore/note-m-modern-corpus-onboarded branch May 11, 2026 01:09
rafael5 added a commit that referenced this pull request May 11, 2026
Adds Phase-0 pointer URLs to the tree-sitter-m entry, mirroring the
m-modern-corpus follow-up (.github PR #6) after PR #4 in tree-sitter-m
landed:

- agent_instructions: AGENTS.md
- repo_meta_url:      dist/repo.meta.json
- node_types_url:     src/node-types.json
- grammar_url:        src/grammar.json
- grammar_metadata_url: src/grammar-metadata.json

Hand-curated lines (role, consumes, consumed_by, bindings, validation)
stay until Phase 1 ships build-catalog.py — those will fall away in
favour of generator-derived summaries.

Tier-2 onboarding per AI-discoverability-plan.md §3.4 / phase1-plan.md
§9. Phase 2 progress: 2 of 3 tier-2 repos onboarded (m-modern-corpus
+ tree-sitter-m); m-test-engine remains.
rafael5 added a commit that referenced this pull request May 11, 2026
…#20)

Phase 3 Track A — recipe schema and directory scaffold. Foundation
for Phase 3 Tracks B/C/D (B authors recipes; C TDDs the handshake
test; D wires Make + CI). Per phase3-plan.md §2.

Four parts in one coherent PR:

1. profile/recipe.schema.json (new) — JSON Schema 2020-12 for the
   YAML frontmatter at the top of every docs/recipes/<slug>.md.
   Required: id (typedID, recipe:* prefix), title (≤70 char),
   intent (matches a task_index entry), touches (≥1 typedID),
   verified_on (ISO date), ci_verifiable (bool).
   Optional: prereqs, manual_checklist_url, tier (tier-1|2|3),
   notes. allOf rule: ci_verifiable=false REQUIRES
   manual_checklist_url. typedID grammar duplicated in $defs so
   the schema validates standalone — same regex as tools.schema.json
   + task_index.schema.json.

2. docs/recipes/README.md (new) — describes the recipe contract,
   frontmatter table, the seven priority recipes (gating/buffer/
   post-exit), the CI gate that Track D will implement, authoring
   guide, and what the directory is NOT. ~95 lines of prose.

3. profile/task_index.json — new top-level "recipes" category with
   one row per priority recipe mapping intent → recipe:<slug>
   typed ID + see_also pointers to the tools / cmds / modules each
   recipe touches. 7 rows. Total intent count 59 → 66.

4. (audit-only) A1 findings captured in this PR body — no existing
   recipe content anywhere in the org; only references in planning
   prose, and one adjacent surface (tools.json workflow block:
   tdd_inner_loop + minimal_application_recipe) that recipes do
   not replace.

Verification, all green:
- recipe.schema.json valid JSON Schema 2020-12; synthetic positive
  + two negative fixtures (missing manual_checklist_url when
  ci_verifiable=false; malformed typedID) both rejected as expected.
- task_index.json validates against task_index.schema.json (now
  6 categories, 66 intents).
- profile/tools.json + task_index.json schema-strict via
  validate-catalog.py: OK.
- make catalog byte-idempotent.
- pytest profile/build/: 26/26.
- make check-docs-prose green (docs/recipes/README.md is .md).
- make phase0-smoke: PASS.

Phase 3 launch state:
- Track A this PR — foundation for everything else.
- Tracks B/C/D ready to start in parallel once this lands.
- recipes 1–4 are gating for Phase-3 exit (Track B);
  #5 is buffer; #6 (tier-2) + #7 (tier-3) are post-exit follow-ups.
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