diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..eb2fad1 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,38 @@ +--- +created: 2026-05-11 +last_modified: 2026-05-11 +revisions: 0 +doc_type: [REFERENCE] +--- + +# m-standard — Documentation Index + +> First-pass index generated 2026-05-11. Labels follow the shared vocabulary below; the same vocabulary is used across all m-dev-tools repos. + +## Vocabulary + +Each doc is labeled `[TYPE · type? · connection · connection?]`. + +**Types** — `HISTORY` · `ARCHITECTURE` · `DESIGN` · `ADR` · `SPEC` · `REFERENCE` · `GUIDE` · `TUTORIAL` · `ROADMAP` · `PLAN` · `RESEARCH` · `SURVEY` · `GAP-ANALYSIS` · `STATUS` · `EXPLAINER` · `NOTES` · `WORKED-EXAMPLE` · `SETUP` · `INTEGRATION` · `PROPOSAL` · `BUILD-LOG` · `CHANGELOG` · `POSTMORTEM` + +**Repo connections** — `history` · `function` · `design` · `architecture` · `planning` · `implementation` + +## Top-level + +- **`spec.md`** — `[SPEC · architecture · design]` Formal v0.2 specification of the project: sources reconciled, output contract, repo layout, milestones, success criteria. +- **`m-standards-guide.md`** — `[GUIDE · REFERENCE · function]` Human-readable narrative reference to M drawn from the integrated layer, with every claim citing a TSV row. +- **`pragmatic-m-standard.md`** — `[EXPLAINER · REFERENCE · function]` Explains the portable YDB-IRIS intersection subset (81 entries) and why pragmatic differs from operational and wise. +- **`va-sac-and-pragmatic-standard.md`** — `[EXPLAINER · function · design]` Layers VA SAC, pragmatic, and operational standards, defining the 58-entry intersection a VistA developer can actually use. +- **`objectscript-analysis.md`** — `[RESEARCH · function]` Opinionated analysis of IRIS ObjectScript as a superset of M, explaining why it sits outside the operational standard. +- **`m-libraries-survey.md`** — `[SURVEY · GAP-ANALYSIS · function]` Comprehensive descriptive survey of the M-language standard library across ANSI, IRIS, and YottaDB with rank-ordered gaps. +- **`m-libraries-remediation.md`** — `[PLAN · ROADMAP · planning]` Prioritised build plan turning the survey's gaps into the `m-stdlib` sibling project, with phases and toolchain prerequisites. +- **`build-log.md`** — `[BUILD-LOG · history · implementation]` Chronological `BL-NNN` log of non-trivial issues, decisions, and surprises encountered while constructing the pipeline. + +## `adr/` — Architecture Decision Records governing the reconciliation pipeline + +- **`adr/001-two-source-hierarchy.md`** — `[ADR · architecture · design]` Reconcile AnnoStd and YottaDB under a fixed precedence hierarchy, excluding GT.M as no longer pinnable. +- **`adr/002-normative-vs-annotation-separation.md`** — `[ADR · design · architecture]` Separate AnnoStd's normative standard text from committee annotations so consumers cannot confuse commentary with the standard. +- **`adr/003-per-source-preservation.md`** — `[ADR · architecture · design]` Preserve raw per-source TSVs as first-class artifacts alongside the reconciled integrated view to keep extraction reproducible. +- **`adr/004-tsv-plus-json-output.md`** — `[ADR · architecture · function]` Publish every concept family as both flat TSV (for analysts) and structured JSON (for code generators) from a single emitter. +- **`adr/005-build-time-consumability.md`** — `[ADR · architecture · function]` Treat the integrated layer as a machine-readable interface with pinned `schema_version`, locked column order, and JSON Schema gates. +- **`adr/006-iris-as-third-source.md`** — `[ADR · architecture · design]` Add InterSystems IRIS as a third primary source in v0.2, revising ADR-001's two-source framing for the VistA use case. diff --git a/docs/adr/001-two-source-hierarchy.md b/docs/adr/001-two-source-hierarchy.md index 474fcff..b613192 100644 --- a/docs/adr/001-two-source-hierarchy.md +++ b/docs/adr/001-two-source-hierarchy.md @@ -1,3 +1,10 @@ +--- +created: 2026-04-25 +last_modified: 2026-04-25 +revisions: 1 +doc_type: [ADR] +--- + # ADR-001 — Two-source hierarchy with explicit precedence **Status:** accepted (v0.1) diff --git a/docs/adr/002-normative-vs-annotation-separation.md b/docs/adr/002-normative-vs-annotation-separation.md index d6c0522..8d31721 100644 --- a/docs/adr/002-normative-vs-annotation-separation.md +++ b/docs/adr/002-normative-vs-annotation-separation.md @@ -1,3 +1,10 @@ +--- +created: 2026-04-25 +last_modified: 2026-04-25 +revisions: 1 +doc_type: [ADR] +--- + # ADR-002 — Separate normative text from annotations **Status:** accepted (deferred for v1.0; see Implementation status below) diff --git a/docs/adr/003-per-source-preservation.md b/docs/adr/003-per-source-preservation.md index 0ca9f41..c677dea 100644 --- a/docs/adr/003-per-source-preservation.md +++ b/docs/adr/003-per-source-preservation.md @@ -1,3 +1,10 @@ +--- +created: 2026-04-25 +last_modified: 2026-04-25 +revisions: 1 +doc_type: [ADR] +--- + # ADR-003 — Per-source preservation alongside integrated output **Status:** accepted (v0.1) diff --git a/docs/adr/004-tsv-plus-json-output.md b/docs/adr/004-tsv-plus-json-output.md index 58679f9..0e073e8 100644 --- a/docs/adr/004-tsv-plus-json-output.md +++ b/docs/adr/004-tsv-plus-json-output.md @@ -1,3 +1,10 @@ +--- +created: 2026-04-25 +last_modified: 2026-04-25 +revisions: 1 +doc_type: [ADR] +--- + # ADR-004 — Dual output format: TSV flat facts + JSON structured detail **Status:** accepted (v0.1) diff --git a/docs/adr/005-build-time-consumability.md b/docs/adr/005-build-time-consumability.md index e6d806c..fd744c4 100644 --- a/docs/adr/005-build-time-consumability.md +++ b/docs/adr/005-build-time-consumability.md @@ -1,3 +1,10 @@ +--- +created: 2026-04-25 +last_modified: 2026-04-25 +revisions: 1 +doc_type: [ADR] +--- + # ADR-005 — Designed to be code-generated against **Status:** accepted (v0.1) diff --git a/docs/adr/006-iris-as-third-source.md b/docs/adr/006-iris-as-third-source.md index 85f860c..51d1cee 100644 --- a/docs/adr/006-iris-as-third-source.md +++ b/docs/adr/006-iris-as-third-source.md @@ -1,3 +1,10 @@ +--- +created: 2026-04-25 +last_modified: 2026-04-25 +revisions: 1 +doc_type: [ADR] +--- + # ADR-006 — Add InterSystems IRIS as a third primary source **Status:** accepted (v0.2) diff --git a/docs/build-log.md b/docs/build-log.md index fb16382..b2feda1 100644 --- a/docs/build-log.md +++ b/docs/build-log.md @@ -1,3 +1,10 @@ +--- +created: 2026-04-25 +last_modified: 2026-05-09 +revisions: 9 +doc_type: [BUILD-LOG] +--- + # Build log Chronological record of non-trivial issues encountered during diff --git a/docs/m-libraries-remediation.md b/docs/m-libraries-remediation.md index fe4e78c..1cc66cc 100644 --- a/docs/m-libraries-remediation.md +++ b/docs/m-libraries-remediation.md @@ -8,6 +8,10 @@ adjacent-projects: - tree-sitter-m (grammar, VS Code extension) - m-standard (this repo — provenance, schemas, conflicts) - m-tools (legacy reference, ^TESTRUN assertion library) +created: 2026-04-30 +last_modified: 2026-05-09 +revisions: 3 +doc_type: [PLAN, ROADMAP] --- # M libraries — remediation strategy and prioritised roadmap diff --git a/docs/m-libraries-survey.md b/docs/m-libraries-survey.md index 6cc8c40..a69576c 100644 --- a/docs/m-libraries-survey.md +++ b/docs/m-libraries-survey.md @@ -14,6 +14,10 @@ derived-from: - integrated/pattern-codes.tsv - integrated/multi-vendor-extensions.tsv - integrated/conflicts.tsv +created: 2026-05-09 +last_modified: 2026-05-09 +revisions: 1 +doc_type: [SURVEY, GAP-ANALYSIS] --- # M libraries — comprehensive survey across ANSI, IRIS, and YottaDB diff --git a/docs/m-standards-guide.md b/docs/m-standards-guide.md index 2562772..014fbcc 100644 --- a/docs/m-standards-guide.md +++ b/docs/m-standards-guide.md @@ -1,3 +1,10 @@ +--- +created: 2026-04-25 +last_modified: 2026-04-25 +revisions: 2 +doc_type: [GUIDE, REFERENCE] +--- + # M-Standards-Guide A human-readable reference to the M (MUMPS) programming language, drawn diff --git a/docs/objectscript-analysis.md b/docs/objectscript-analysis.md index fb5c0a2..def90d8 100644 --- a/docs/objectscript-analysis.md +++ b/docs/objectscript-analysis.md @@ -3,6 +3,10 @@ title: ObjectScript — what it is, where it stands, and what could replace it status: analytical guide (not part of the Operational M Standard) last-reviewed: 2026-04-29 sources: sources/iris/site/ (InterSystems IRIS Data Platform 2026.1 docs) +created: 2026-05-09 +last_modified: 2026-05-09 +revisions: 1 +doc_type: [RESEARCH] --- # ObjectScript — what it is, where it stands, and what could replace it diff --git a/docs/pragmatic-m-standard.md b/docs/pragmatic-m-standard.md index 31eb69c..4a9852e 100644 --- a/docs/pragmatic-m-standard.md +++ b/docs/pragmatic-m-standard.md @@ -1,3 +1,10 @@ +--- +created: 2026-04-25 +last_modified: 2026-04-25 +revisions: 2 +doc_type: [EXPLAINER, REFERENCE] +--- + # The Pragmatic M Standard > **What "pragmatic" means here.** Strictly: *portable across YottaDB diff --git a/docs/spec.md b/docs/spec.md index 730e451..00d51e0 100644 --- a/docs/spec.md +++ b/docs/spec.md @@ -1,3 +1,10 @@ +--- +created: 2026-04-23 +last_modified: 2026-04-25 +revisions: 6 +doc_type: [SPEC] +--- + # m-standard — Specification v0.2 **Status:** draft for review diff --git a/docs/va-sac-and-pragmatic-standard.md b/docs/va-sac-and-pragmatic-standard.md index 648d3b7..d94b9d5 100644 --- a/docs/va-sac-and-pragmatic-standard.md +++ b/docs/va-sac-and-pragmatic-standard.md @@ -1,3 +1,10 @@ +--- +created: 2026-04-25 +last_modified: 2026-04-25 +revisions: 3 +doc_type: [EXPLAINER] +--- + # VA SAC, the Pragmatic M Standard, and the Operational Subset Three M standards layer over each other for VistA development. They