MDCP epistemic report
Type: agentic-system-analyses/types/agentic-system-epistemic-report.md
Source-and-claim boundary
This overlay assesses the whole shipped documentation loop under the boundary and Source register, SRC-1. The question is what licenses reliance on source shards and derivatives, rather than whether compilation succeeds. External host inference, peer implementations, installed dependencies and successor Merlon are not frozen. No run or experiment is registered: actual compliance, accepted novel claims, later activation and comparative benefit are unestablished.
Direct inspection here covers CLI dispatch including standalone fix/lint/prose/links, the public core surface, callback execution, code-evidence and insert hooks, the path probe, review interfaces, semantic review instructions, research archetype and remote-session installer. Other coverage below is supplied runtime evidence, not claimed direct inspection. These additions use SRC-1 at the same frozen commit. No target execution was performed.
| Entry point or operation | Source path in SRC-1 | Coverage and records |
|---|---|---|
| Host feature work, discovery and later shard reads | skills/mdcp/SKILL.md; skills/mdcp/references/workflows/feature-level.md |
Supplied RT-RTE-feature-work, RT-BAP-skill-host; host processing uninspected |
| Compile, refs-gen/check/list; removed export | packages/mdcp-cli/src/cli.ts |
Direct dispatch; supplied RT-RTE-compile-check; export exits rather than supplies context |
| Check, lint, prose, links | packages/mdcp-cli/src/cli.ts |
Direct dispatch/check consumer; supplied RT-RTE-compile-check; external peer judgments remain opaque |
| Fix | packages/mdcp-cli/src/cli.ts |
Direct EPI-RTE-peer-fix; omitted standalone mutation in runtime narrative is added, not a contradiction |
| Shard | packages/mdcp-core/src/shard/orchestrator.ts |
Supplied RT-RTE-shard-import; parser semantics not frozen |
| Public APIs and registered hooks | packages/mdcp-core/src/index.ts; packages/mdcp-core/src/compile/hooks.ts |
Direct API/callback inspection; supplied RT-RTE-hook-extension; new hook parts below |
| Code evidence, inserts | packages/mdcp-core/src/compile/hooks/code-evidence.ts; packages/mdcp-core/src/compile/hooks/inline-inserts.ts |
Direct EPI-RTE-code-evidence, EPI-RTE-inline-inserts |
| Path checks | packages/mdcp-core/src/validate/path-probe.ts |
Direct recognizer/evaluator; CLI consumer; EPI-RTE-path-probe |
| Review and semantic cleanup | packages/mdcp-core/src/validate/review.ts; skills/mdcp/references/workflows/doc-review.md; skills/mdcp/references/review/lenses.md |
Direct interfaces/normalization and complete workflow/lenses; supplied RT-RTE-doc-review |
| Research evidence and specification | skills/mdcp-arch-research/SKILL.md |
Direct EPI-CLM-research-warrant, EPI-CLM-structure-truth |
| Site publication, backup and registry persistence | packages/mdcp-site/scripts/sync-content.mjs; packages/mdcp-core/src/compile/write-output.ts; packages/mdcp-core/src/refs/registry.ts |
Supplied RT-RTE-compile-check; no publication outcome |
| Context-size benchmark and conditional public claim | scripts/bench-context-size.mjs; docs/features/protocol/benefit-claims-and-evidence.md; docs/features/protocol/context-size-dogfood.csv |
Direct EPI-RTE-context-size, EPI-CLM-context-size; static report, not observed agent savings |
| Evaluation/optimization | .agents/skills/skill-creator/scripts/run_loop.py; docs/developer/live-skill-evals.md |
Supplied RT-RTE-skill-evaluation, RT-CMP-claude; not independently re-inspected |
| CI/release and session-start hook | .github/workflows/ci.yml; .github/workflows/release.yml; .claude/hooks/session-start.sh |
Supplied RT-RTE-release-admission; hook directly read: remote-session installation, not truth evaluation |
Additional direct correction inspection covers SRC-1, docs/features/protocol/benefit-claims-and-evidence.md, docs/features/protocol/context-size-dogfood.csv and scripts/bench-context-size.mjs: reported static size evidence and its measurement implementation, not a newly observed run.
Other included archetype/bootstrap workflows, individual research artifacts, presets, test assertions and evaluator-helper internals were not exhaustively assessed. Their availability is not an access gap. This prevents a system-complete negative about semantic evaluation or knowledge production. No result from an uninspected research artifact is inferred. The bounded research doctrine is a positive warrant prescription; it must not be collapsed into “MDCP only formats text.”
Epistemic-object inventory
| Object ID | Candidate truth-apt content or none | Claimed role | Evidence source ID and local anchor | Gap/limit |
|---|---|---|---|---|
| RT-OBJ-mdcp | Vendor skill/workflow instructions; normative instructions are not themselves observations | see record | SRC-1, skills/mdcp/SKILL.md |
Vendor policy only; mutable project assertions belong to the separate source-shard record |
| MEM-OBJ-shards | Mutable project intent/contracts and factual assertions | see record | SRC-1, skills/mdcp/SKILL.md |
Distinct from vendor policy; individual accepted claims unavailable |
| EPI-OBJ-document-body | Selected shard prose and transformed compile body | see record | SRC-1, packages/mdcp-core/src/compile/hooks.ts |
Derivative content, not configuration |
| EPI-OBJ-skill-description | Candidate trigger-scope policy, not project assertions | see record | SRC-1, .agents/skills/skill-creator/scripts/run_loop.py |
Candidate descriptions are not the installed vendor policy |
| EPI-OBJ-context-size | Reported static sizes and ratios | see record | SRC-1, docs/features/protocol/context-size-dogfood.csv |
Not a transcript or causal experiment |
| RT-OBJ-config | None intrinsically; gate/selection policy | see record | SRC-1, packages/mdcp-core/src/config/schema.ts |
Symbolic policy validity is not policy adequacy |
| EPI-OBJ-evidence-links | A file/line association, not proof that surrounding prose follows | see record | SRC-1, packages/mdcp-core/src/compile/hooks/code-evidence.ts |
First occurrence is not declaration resolution |
| EPI-OBJ-insert-body | Imported table/diagram/media prose where truth-apt; particular proposition not determinable without selected payload | see record | SRC-1, packages/mdcp-core/src/compile/hooks/inline-inserts.ts |
Body copying preserves text, not warrantedness |
| EPI-OBJ-path-claims | Recognized repository path exists within searched roots | see record | SRC-1, packages/mdcp-core/src/validate/path-probe.ts |
Author exemptions, syntax and selected files bound domain |
Compiled Markdown, registry and site derivatives are outputs of RT-RTE-compile-check, not independent corroborating sources. Evaluation labels, candidate descriptions and score history remain distinct from production documentation assertions; see RT-RTE-skill-evaluation. Distributed-parametric host and evaluator dependencies retain their independent fixity/opacity limits in RT-CMP-host-model and RT-CMP-claude; no weight learning is inferred.
Authority-route ledger
Each row splits a consequential function. “See” delegates fields owned by the declaring record rather than re-declaring them. Architectural status is local to this overlay. No row establishes observed operation.
| route ID | route function | architectural status | object/candidate ID | content/update relation | transition or check target | evaluator/condition and domain | activation and timing | possible or observed result | implemented force | epistemic authority and scope | operational authority: behavior permitted, blocked, or changed | behavioral-authority path: consumer, channel, force, horizon | evidence source ID and local anchor | claim IDs or none | mismatch marker or none | gap/limit |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RT-RTE-feature-work | content transformation | doctrine only | MEM-OBJ-shards | truth-apt transformation: indeterminate | Task intent → proposed/as-built shards | Host interpretation; source/task dependent | see RT-RTE-feature-work | Requested edits | Interpreted protocol | No recorded evidence-consuming acceptance | Edit docs before implementation | Host; skill/shard reads; advisory; work item and later reload | SRC-1, skills/mdcp/references/workflows/feature-level.md |
RT-CLM-context-discipline | none | Actual claims needed to distinguish reshaping, derivation and conjecture; no observed adherence |
| RT-RTE-feature-work | retention | doctrine only | MEM-OBJ-shards | no content change | Edited shards → future task | Repository writes through host | see RT-RTE-feature-work | Durable Markdown requested | Protocol | Retention is not acceptance | Future discovery/read | Host; search/index → shard; advisory; future sessions | SRC-1, skills/mdcp/SKILL.md |
none | none | No observed run |
| RT-RTE-compile-check | content transformation | implemented | EPI-OBJ-document-body | truth-apt transformation: non-ampliative reshaping | Selected shards → guides/registry | Deterministic assembly, subject to separately assessed hooks | see RT-RTE-compile-check | Compiled derivatives | Writes | No new warrant for source propositions | Publish/inspect derived text | CLI/site; files; permissive; later invocations | SRC-1, packages/mdcp-cli/src/cli.ts |
none | none | Classifies assembly, not arbitrary callback semantics |
| EPI-RTE-code-evidence | content transformation | implemented | EPI-OBJ-evidence-links | truth-apt transformation: entailed derivation | Recognized link/symbol → file/line association | First lexical occurrence in resolved file | see EPI-RTE-code-evidence | Line fragment or unchanged link | Rewrites | Occurrence only, conditional on resolution; not semantic support | Output carries a citable location | Assembly → output reader; link; advisory; compiled artifact | SRC-1, packages/mdcp-core/src/compile/hooks/code-evidence.ts |
EPI-CLM-structure-truth | none | Checked concrete deduction in record; pre-existing line fragments are not validated here |
| EPI-RTE-inline-inserts | content transformation | implemented | EPI-OBJ-insert-body | truth-apt transformation: acquisition/import | Referenced insert body → compiled body | Resolvable nonempty insert; per-guide state | see EPI-RTE-inline-inserts | First inline and subsequent backlink | Writes | Source warrant unknown; text import supplies no acceptance | Reader sees body or backlink | Assembly → output readers; Markdown; permissive; artifact | SRC-1, packages/mdcp-core/src/compile/hooks/inline-inserts.ts |
none | none | No observed run |
| RT-RTE-hook-extension | content transformation | implemented | EPI-OBJ-document-body | truth-apt transformation: indeterminate | Registered callback body → replacement | Caller-supplied executable function | see RT-RTE-hook-extension | Arbitrary returned string | Executable callback | No general semantic-preservation license | Can replace text without semantic gate | Core caller → assembly; callback; enforcing locally; process/output | SRC-1, packages/mdcp-core/src/compile/hooks.ts |
none | none | Inspect particular installed callback to classify its content relation |
| RT-RTE-compile-check | check/evidence production | implemented | MEM-OBJ-shards; EPI-OBJ-document-body | no content change | Selected structural/link/style/coverage criteria | Built-ins and configured peers, not universal prose oracle | see RT-RTE-compile-check | Issues/status | Diagnostic | Only enabled domain; no source-truth endorsement | Produces gate inputs | CLI/CI; issues/exit codes; advisory then gate; invocation | SRC-1, packages/mdcp-cli/src/cli.ts |
EPI-CLM-structure-truth | none | No observed run |
| EPI-RTE-path-probe | check/evidence production | implemented | EPI-OBJ-path-claims | no content change | Recognized path claims → unresolved issues | Filesystem existsSync over roots; exemptions apply | see EPI-RTE-path-probe | Unresolved path list | Diagnostic | Existence under syntactic interpretation, not behavior or contents | Supplies failures only when enabled | Probe → CLI; issue array; advisory; invocation | SRC-1, packages/mdcp-core/src/validate/path-probe.ts |
EPI-CLM-structure-truth | none | No observed run |
| EPI-RTE-path-probe | disposition/acceptance | implemented | EPI-OBJ-path-claims | no content change | Path issues → check failure | CLI error severity and nonempty issues | see EPI-RTE-path-probe | Failure entry then exit 1 | Conditional gate | Mechanical rejection only; no general claim acceptance | Blocks successful check, not earlier writes | CLI → CI/caller; exit; enforcing for selected gate; invocation | SRC-1, packages/mdcp-cli/src/cli.ts |
none | none | No observed run |
| RT-RTE-compile-check | disposition/acceptance | implemented | MEM-OBJ-shards; EPI-OBJ-document-body | no content change | Diagnostics → check success/failure | Configured severity, strictness, peer availability | see RT-RTE-compile-check | Pass or process failure | Conditional gate | Pass licenses selected mechanical criteria only | CI can fail; outputs may already be written | CLI → caller/CI; exit; enforcing job status; invocation | SRC-1, packages/mdcp-cli/src/cli.ts |
EPI-CLM-structure-truth | none | No observed run |
| RT-RTE-doc-review | check/evidence production | implemented | MEM-OBJ-shards | no content change | Shard-set size/duplication/title proxies | Configured symbolic thresholds and normalization | see RT-RTE-doc-review | Warning findings | Advisory; strict exit optional | Evidence for measured proxy, not necessity of semantic edit | Signals review attention | CLI → host; findings; advisory; next review pass | SRC-1, packages/mdcp-core/src/validate/review.ts |
none | none | No observed run |
| RT-RTE-doc-review | disposition/acceptance | doctrine only | MEM-OBJ-shards | no content change | Findings/shard truth → action or leave | Host semantic lenses, spot-check code, audience/job criteria | see RT-RTE-doc-review | One-line rationale and revisions requested | Interpreted protocol | Requested evidence-sensitive review; no recorded claim-level acceptance | Delete superseded text, reword, leave, regroup | Host → repository; edits/review; advisory protocol; later tasks | SRC-1, skills/mdcp/references/workflows/doc-review.md |
none | none | No actual review decision, tested proposition or accepted novel claim supplied |
| RT-RTE-doc-review | behavior/policy adaptation | doctrine only | RT-OBJ-config | non-truth-apt policy/content update: thresholds, glossary or Vale guidance | Recurring findings → revised guidance | Agent judgment under review workflow | see RT-RTE-doc-review | Tuned rule requested | Interpreted protocol | Not a measured capacity improvement | Changes later review/lint behavior if installed | Host → config/rule consumers; files; permissive; later runs | SRC-1, skills/mdcp/references/workflows/doc-review.md |
none | none | No observed run |
| EPI-RTE-peer-fix | content transformation | implemented | MEM-OBJ-shards | truth-apt transformation: indeterminate | Docs-root files → peer auto-fixes | External Prettier and markdownlint | see EPI-RTE-peer-fix | Requested in-place changes | Delegated write authority | Semantic preservation not established by wrapper | Bypasses doc-review action selection | CLI → peers → files; argv; permissive; current and later reads | SRC-1, packages/mdcp-cli/src/cli.ts |
none | none | Peer versions/config and actual edits unavailable |
| RT-RTE-skill-evaluation | check/evidence production | implemented | EPI-OBJ-skill-description | no content change | Trigger expectation vs detected skill invocation | Labeled should_trigger oracle, repeated subprocess calls | see RT-RTE-skill-evaluation | Train/test passed counts | Diagnostic | Trigger agreement only; not successful task performance | Feeds optimizer ranking | Evaluator → optimizer; score; ranking; iterations | SRC-1, .agents/skills/skill-creator/scripts/run_loop.py |
none | none | No observed run |
| RT-RTE-skill-evaluation | operational admission/selection/consumption | implemented | EPI-OBJ-skill-description | no content change | Description candidates → next/best description | Train failure stop, test or train selection | see RT-RTE-skill-evaluation | New current and returned best description | Ranking | Fixture-relative selection; reused holdout not untouched final estimate | Next evaluation uses candidate; production installation separate | Optimizer → next eval/maintainer; text/JSON; ranking; bounded rounds | SRC-1, .agents/skills/skill-creator/scripts/run_loop.py |
none | none | No observed run |
| EPI-RTE-context-size | check/evidence production | implemented | EPI-OBJ-context-size | truth-apt transformation: entailed derivation | Static text size under counting method | String length/tokenizer and ratio arithmetic | Caller after compile | Metrics and optional CSV | Advisory evidence | Corpus-size ratio only, conditional on inputs/counter | Informs conditional benefit wording, no automatic admission | Maintainer/public-copy author; CSV link; advisory; later copy edits | SRC-1, scripts/bench-context-size.mjs |
EPI-CLM-context-size | none | Reported data not an observed agent run or causal test |
System-claim versus route comparison
| Claim ID | Claimed operation or warrant | Claim source ID/anchor and evidence layer | Doctrine/design support | Implemented route IDs | Observed-run support | Causal support and design limits | Supported conclusion | Mismatch/unknown |
|---|---|---|---|---|---|---|---|---|
| RT-CLM-context-discipline | see record | SRC-1, skills/mdcp/SKILL.md, doctrine/design |
see record | RT-BAP-skill-host; not a physical cap | None registered | Reported dogfood static size comparison; no behavioral or causal benefit comparison; see EPI-CLM-context-size | Narrow shard consumption requested | Host can read broader files |
| EPI-CLM-structure-truth | see record | SRC-1, skills/mdcp-arch-research/SKILL.md, doctrine/design |
see record | RT-RTE-compile-check, EPI-RTE-path-probe, EPI-RTE-code-evidence | None registered | Path existence is a limited truth-apt check, not blanket truth validation | Stated limitation fits gate; do not interpret it as zero checkable propositions | Peers and host semantic review differ from structural gate |
| EPI-CLM-research-warrant | see record | SRC-1, skills/mdcp-arch-research/SKILL.md, doctrine/design |
see record | No inspected automatic evidence-to-spec acceptance evaluator; host-mediated RT-RTE-feature-work and RT-RTE-doc-review are adjacent routes | None registered | Links and method disclosure enable inspection, not validation or causal attribution | A declared evidence/position/clause lineage and supersession policy | No criterion proving that any particular normative clause follows from its evidence |
| EPI-CLM-context-size | see record | SRC-1, docs/features/protocol/benefit-claims-and-evidence.md, doctrine/design; linked CSV reported static measurement |
see record | EPI-RTE-context-size | No observed agent run; reported static CSV available | Corpus-specific sizes, approximate tokenizer, no causal task comparison | One feature shard is reported much smaller than whole dogfood monolith; conditional context reduction is supported as a size comparison | Actual selection, total context, recall, task quality and exercised savings unestablished |
Bounded conclusion
Vendor policy RT-OBJ-mdcp governs work; mutable project shards MEM-OBJ-shards are its edited/retained content, not that vendor policy. Configuration selects compilation/check policy; EPI-OBJ-document-body is the transformed body. Peer-fix targets docs-root files; its identity overlaps MEM-RTE-peer-fix, not the skill-policy object.
The reported dogfood CSV supplies a static size comparison: median feature shard 864 estimated tokens versus monolith 61941, about 1.4%; character ratio about 1.5%. The conditional benefit claim is therefore not evidence-free. The benchmark and interpretation support a scoped size comparison, not actual one-shard adherence, complete prompt savings, recall or causal benefit; see EPI-CLM-context-size and EPI-RTE-context-size.
MDCP's source shards acquire operational reliance through agent instructions and later search/read, while compiled guides, registries and site pages are derivatives, not fresh corroboration. Retention/use and selected mechanical admission are not recorded semantic acceptance; see RT-RTE-feature-work, RT-BAP-skill-host and RT-RTE-compile-check.
The deterministic code-evidence route derives occurrence locations within a narrow lexical domain, not explanations or proof of prose. Insert expansion imports retained bodies with source warrant unknown; arbitrary hooks and peer fixes prevent an unqualified semantic-preservation claim. The relevant limits and concrete source deduction are in EPI-RTE-code-evidence, EPI-RTE-inline-inserts, RT-RTE-hook-extension and EPI-RTE-peer-fix.
The structural gate can reject selected link/path/style/coverage failures, but may write derivatives before rejection and offers no general semantic rollback. The path probe genuinely evaluates a narrow truth-apt assertion—existence relative to roots—while author exemptions and default-off policy constrain coverage. It does not check what a file does. A pass does not establish source truth, endorsement or acceptance of a novel ampliative claim; EPI-RTE-path-probe and RT-RTE-compile-check.
Semantic review is not absent: the shipped workflow requests code spot-checking, per-finding rationales, a leave option and deletion of superseded text. Research doctrine requests reproducible methods, scoped confidence and evidence-to-position-to-clause links, preserving superseded observations separately. These are explicit evidence-sensitive prescriptions, not an observed evidence-consuming acceptance decision or lifecycle integration after such acceptance; RT-RTE-doc-review, EPI-CLM-research-warrant. Particular research outcomes remain unassessed. No entailed or non-entailed classification of an unseen authored proposition is justified.
Maintainer trigger optimization has a real expected-label oracle and ranking consumer, independent of prose truth. It supports bounded candidate selection, not successful tasks, general learning or production self-improvement. Recurring-findings guidance can request changes to future checks, but improved capacity, completed content-directed criticism, criticism-led iteration and exercised production self-improvement remain independently unestablished; see RT-RTE-skill-evaluation and RT-RTE-doc-review. Opaque model processing is not evidence for or against hidden theories. No single epistemic score or system-wide negative follows.
Shared records
Operative objects
EPI-OBJ-document-body
Label: Compile document body
Part of: RT-RTE-compile-check
Source-native body strings: selected Markdown input, intermediate callback body, and compiled output. Natural-language assertions plus symbolic Markdown links; substrate is process strings and output files. SRC-1, packages/mdcp-core/src/compile/hooks.ts; callback replacement passage in RT-RTE-hook-extension. This is the transformed material within the route (a route parent), not RT-OBJ-config, which selects policy. MEM-OBJ-shards is the source file object; this record distinguishes its compile-body consumption/derivation path and transient replacement state. It does not enlarge RT-OBJ-mdcp.
EPI-OBJ-skill-description
Label: Candidate skill description
Part of: RT-RTE-skill-evaluation
Source-native current_description and best_description candidates: natural-language trigger-scope policy in process strings, temporary skill files and optional JSON/log outputs. SRC-1, .agents/skills/skill-creator/scripts/run_loop.py; evidence and selection passages are supplied by the parent route. Distinct from RT-OBJ-mdcp, the installed vendor skill/workflow policy: a candidate can eventually replace its description, but that does not make it the installed policy or a part of that policy object. It is a material candidate within the evaluation route (a route parent). No project-shard assertion is judged by the trigger oracle.
EPI-OBJ-context-size
Label: Context size measurements
Source-native CSV metrics in filesystem text: symbolic metric/value/unit/date fields read as measurements, with prose interpretation in the benefit-claims shard. SRC-1, docs/features/protocol/context-size-dogfood.csv. Distinct from MEM-OBJ-shards: a measurement dataset rather than authored project contracts; related public-copy interpretation is EPI-CLM-context-size. The CSV reports o200k_base, 2026-10-05, 53 feature shards, median 4319 characters/864 estimated tokens versus monolith 282975 characters/61941 estimated tokens, ratios 1.5%/1.4%. No inference about which files an actual agent read follows.
median_shard_token_pct_of_monolith,1.4,percent,median feature shard / monolith token ratio,2026-10-05 ---
docs/features/protocol/context-size-dogfood.csv
EPI-OBJ-evidence-links
Label: Code evidence links
Markdown link labels/targets and line fragments in source/compiled files; symbolic link syntax consumed by fixed hook rules, with natural-language labels read by humans/agents. Storage is Markdown strings/files. SRC-1, packages/mdcp-core/src/compile/hooks/code-evidence.ts.
Part of: RT-RTE-compile-check
This object is material transformed state inside the runtime's compile route (a route parent, not an object container). It is not RT-OBJ-config: its contents are document links rather than gate configuration. Its processing is the narrower EPI-RTE-code-evidence.
EPI-OBJ-insert-body
Label: Inline insert body
Source-native insert Markdown is natural-language or mixed table/diagram content in files, copied into compiled Markdown strings/files; symbolic path and per-guide counters select placement. SRC-1, packages/mdcp-core/src/compile/hooks/inline-inserts.ts.
Part of: RT-RTE-compile-check
A material input/output part of that route, not a duplicate of the configuration or skill policy object. A concrete insert's truth-apt propositions require reading that selected file; the hook alone establishes import.
EPI-OBJ-path-claims
Label: Repository path claims
Backtick spans in shard prose interpreted by a symbolic recognizer as existence claims. Storage: Markdown source files; resulting issues are process-local structured objects. SRC-1, packages/mdcp-core/src/validate/path-probe.ts.
Part of: RT-RTE-compile-check
This is the path-check target within the route, not RT-OBJ-config (which controls whether it runs). The representational boundary matters: prose around the recognized span is not evaluated.
Routes
EPI-RTE-context-size
Label: Static context size measurement
Endpoints: compiled guides/source Markdown → string/token counts and summaries → console/optional CSV → public benefit-copy interpretation. Script owns measurement; maintainers own claim wording. SRC-1, scripts/bench-context-size.mjs, implementation; EPI-CLM-context-size is the doctrine consumer. No supplied individual measurement route counterpart; RT-RTE-skill-evaluation instead measures trigger/task behavior.
- implementation conclusion status: wired
- operation conclusion status: uninspected
- Immediate return: Console metric table and optional CSV write.
- Later read-back: Persisted CSV is linked by benefit-claims policy for interpreting public wording; no observed reader activation.
- Delegated visibility: inapplicable — local deterministic script with tokenizer import, not an agent frame.
- Selection predicate: Fixed guide list and six shard directories; recursive Markdown excluding index.md; feature-only ratios against monolith.
- Invalidation or expiry: Regenerate after compile by instruction; optional overwrite, --no-write suppresses it; no automatic freshness gate.
- Activation or effect: Counts and ratios can inform conditional public copy; no measured agent context or causal benefit.
- Evidence limits: Reported CSV is available, but execution provenance and dependency behavior are not independently verified; no tokenizer or benchmark executed.
Check target/domain: static text sizes under chosen counting method, not correctness of documentation or agent performance. No expected-answer oracle for recall. This does not admit project assertions or automatically revise skill policy.
const pct = (part, whole) => (whole > 0 ? Math.round((part / whole) * 1000) / 10 : 0); ---
scripts/bench-context-size.mjsconst measure = (path) => { const text = readFileSync(path, 'utf-8'); return { chars: text.length, tokens: tokenizer.count(text) }; }; ---
scripts/bench-context-size.mjs
EPI-RTE-code-evidence
Label: Code evidence location derivation
Part of: RT-RTE-hook-extension
Endpoints: recognized Markdown link → resolved repository file and label/symbol lookup → rewritten output link. Fixed hook code owns progression and body changes; caller/compile hook selection controls activation. SRC-1, packages/mdcp-core/src/compile/hooks/code-evidence.ts. Distinct narrower hook implementation, not a second declaration of the runtime's general callback route.
Concrete deduction from inspected code, not execution: let a resolvable citable file src/a.ts contain exactly // foo\nfunction foo() {}\n. For a prose link [foo](src/a.ts), with no outputFile and no explicit fragment, symbolFromLabel returns foo; lineForSymbol scans from index zero and the first word-boundary pattern matches the comment. It returns L1; evidenceLink produces [foo](src/a.ts#L1). Thus the derived proposition is “foo occurs on line 1,” conditional on those input premises. It is not “the declaration is on line 1” or “the surrounding claim is supported.” This countercase defeats treating the hook as a semantic evidence checker. Explicit pre-existing L fragments take a separate preserving branch; their correctness is not checked by this hook.
- implementation conclusion status: wired
- operation conclusion status: uninspected
- Immediate return: Replacement Markdown string or unchanged link; first lexical occurrence can supply a line fragment.
- Later read-back: Compiled links can persist in output and reach later readers; see runtime compile route for persistence.
- Delegated visibility: inapplicable — no worker/model call; local file reads only.
- Selection predicate: Recognized repository file extensions, non-code-span prose links, resolvable paths; citable code extensions for symbol lookup.
- Invalidation or expiry: Recompilation may recompute symbol locations; explicit line fragments remain authored values.
- Activation or effect: When selected, hook changes location syntax before output; observed reader activation unavailable.
- Evidence limits: Lexical occurrence not declaration identity, premise truth, semantic entailment of prose, or observed execution.
for (let i = 0; i < lines.length; i++) { if (patterns.some((re) => re.test(lines[i]))) { return formatLineFragment(String(i + 1)); } }
---
packages/mdcp-core/src/compile/hooks/code-evidence.ts
EPI-RTE-inline-inserts
Label: Insert body expansion
Part of: RT-RTE-hook-extension
Endpoints: source-shard insert link → resolve/read file → body insertion or backlink. Hook owns deterministic text updates and per-guide first-anchor/counter state. SRC-1, packages/mdcp-core/src/compile/hooks/inline-inserts.ts. Distinct concrete hook part of the runtime callback route. First resolution reads trimmed UTF-8; nonempty body is inserted under a numbered heading; later same-path occurrences use the first anchor. This is acquisition/import from the insert file into the compiled document, with source warrant unknown, plus presentation reshaping. There is no evidence-consuming truth decision in this branch.
- implementation conclusion status: wired
- operation conclusion status: uninspected
- Immediate return: Replacement Markdown body with content on first occurrence, backlink on repeated resolved path; unchanged original when unresolved/empty.
- Later read-back: Compiled body can reach later readers/site consumers through runtime compile route.
- Delegated visibility: inapplicable — local hook, no isolated context.
- Selection predicate: Links into recognized insert-library directories ending in Markdown; successful resolution and nonempty read.
- Invalidation or expiry: Per-guide state lifetime; rebuilding reads source again, not semantic withdrawal.
- Activation or effect: Copy and backlink placement are implemented; actual reader behavior unobserved.
- Evidence limits: Text copying does not establish source warrant or correctness; particular insert payloads unassessed.
const existing = state.firstAnchorByPath.get(insert.resolvedPath); if (existing) { return formatBackLink(ref.label, existing, locale); }
return formatFirstInline(insert.resolvedPath, insert.content, ref.label, state, locale); ---
packages/mdcp-core/src/compile/hooks/inline-inserts.ts
EPI-RTE-path-probe
Label: Path existence checking
Part of: RT-RTE-compile-check
Endpoints: selected source files → recognized backtick paths → filesystem existence tests → issue list → CLI failure accumulation when severity is error. Probe owns evidence production; CLI owns disposition, separated in the ledger. SRC-1, packages/mdcp-core/src/validate/path-probe.ts, packages/mdcp-cli/src/cli.ts. This part elaborates the runtime's already mentioned path checks; no counterpart individual route was declared.
Target/domain: syntactically eligible repository-relative path existence in selected files under searched roots. Direct source deduction: a prose span src/a.ts outside fences/opt-outs with a recognized extension, no generated/vocabulary exemption, and no existing matching path in any root yields an issue; a match in any root suppresses it. This supports that narrow filesystem proposition, not repository behavior or the intended reference. Whole-file or line illustrative markers bypass claims. Default CLI severity off prevents evaluation. Error issues feed failures and the final exit; warn issues print without that failure.
Caller/config author controls activation/exemptions; software proposes issues and CLI decides mechanical failure. No per-claim human approval or universal answer oracle. Mode: deterministic caller-invoked check. Recovery is edit/delete/exempt and rerun; earlier writes are not rolled back. This is not admission of a new knowledge claim.
- implementation conclusion status: wired
- operation conclusion status: uninspected
- Immediate return: Array of unresolved path issues; CLI prints them and may fail.
- Later read-back: inapplicable — issue array is current-run state, no probe history write inspected.
- Delegated visibility: inapplicable — filesystem predicate, no model delegation.
- Selection predicate: Recognized relative spans, extensions, selected docs; excludes fenced examples, illustrative markers and declared generated/vocabulary paths.
- Invalidation or expiry: Recomputed on invocation; no cached semantic endorsement.
- Activation or effect: CLI severity other than off runs probe; error plus issues accumulates failure; final failure exits 1.
- Evidence limits: Existence is neither intended-root identity nor behavior correctness; selected grammar/exemptions bound coverage.
if (isDeclared(claim, options)) continue; if (roots.some((root) => existsSync(resolve(root, claim)))) continue; issues.push({ file, line: i + 1, path: match[1].trim() });
---
packages/mdcp-core/src/validate/path-probe.ts
EPI-RTE-peer-fix
Label: Peer automatic fixes
Endpoints: explicit fix command → external Prettier/markdownlint → caller documentation-root files. Possible duplicate: MEM-RTE-peer-fix identifies the same CLI mutator, with matching docs-root cwd and peer arguments; both IDs remain declared. This is a related alternate path, not a contained part of the runtime compile/check route. It shares peer resolution infrastructure with RT-RTE-compile-check but invokes mutators directly. SRC-1, packages/mdcp-cli/src/cli.ts. CLI selects tools/arguments; peer implementations/configuration own actual content changes. Proposer/decider: caller invokes, software applies fixes; no per-content MDCP human veto. Mode: automatic repair, no expected semantic answer oracle. Trigger and proposed change: explicit fix request and formatting/lint edits. Recovery requires caller Git/backups; wrapper does not perform semantic rejection or rollback. Guidance is external peer configuration. This source trace adds the omitted standalone operation without superseding the runtime's valid broader container.
- implementation conclusion status: wired
- operation conclusion status: uninspected
- Immediate return: Peer subprocess effects; wrapper does not inspect returned exitCode to veto subsequent peer call.
- Later read-back: Mutated files are eligible for later reads/compilation; actual changes unobserved.
- Delegated visibility: Peer argv and documentation-root cwd, process permissions; no separate agent.
- Selection predicate: Explicit CLI fix command; peer config determines file/rule scope.
- Invalidation or expiry: inapplicable — no result cache; changed files persist until another edit/recovery.
- Activation or effect: Passes --write . and --fix; no semantic acceptance consumer in wrapper.
- Evidence limits: External tool semantics/configuration not frozen; content relation indeterminate.
const prettier = findPeerBinary('prettier', getDocsRoot(opts)); runPeer(prettier, { cwd: getDocsRoot(opts), args: ['--write', '.'] }); const mdlint = findPeerBinary('markdownlint-cli2', getDocsRoot(opts)); runPeer(mdlint, { cwd: getDocsRoot(opts), args: ['--fix'] });
---
packages/mdcp-cli/src/cli.ts
Claims
EPI-CLM-context-size
Label: Conditional shard context size
Claim: following one-shard rather than whole-monolith reading can reduce per-turn context. SRC-1, docs/features/protocol/benefit-claims-and-evidence.md, doctrine/design with attributed static measurement; the linked CSV is reported static size evidence, not an independently authenticated execution trace. Distinct from RT-CLM-context-discipline, the normative reading policy: this is its conditional quantitative benefit claim. Measurement implementation is EPI-RTE-context-size. No new source or observed-run layer is asserted.
On this repository, the median
docs/features/shard is about 1.5% of the monolithdocs/_build/guides.md, by characters and by estimated tokens (about 850 tokens against about 60,000). Here the monolith contains the features guide and the glossary terms it links. When agents follow the usage model and read one shard instead of the whole monolith, per-turn context can be smaller. MDCP does not enforce that discipline. The Agent Skill and your workflow do.---
docs/features/protocol/benefit-claims-and-evidence.md
The script counts UTF-8-decoded JavaScript string length and selected tokenizer estimates, recursively selects Markdown except index.md, summarizes distributions and computes rounded ratios. This measures corpus sizes, not total prompt overhead, search cost, task-relevant shard counts, recall or exercised savings. Tokenizer/dependency implementation is external; counts are explicitly approximate and model-dependent. The reported CSV date need not identify a run on the frozen commit. Source reading here did not regenerate it.
EPI-CLM-structure-truth
Label: Structure versus truth
Claimed operation: the structural gate is not the truth evaluator for research. SRC-1, skills/mdcp-arch-research/SKILL.md, doctrine/design. Distinct from RT-CLM-context-discipline, which concerns context discipline. It constrains warranted interpretation of RT-RTE-compile-check.
mdcp checkvalidates structure, not truth. Two rules keep records honest where the gate cannot reach: ---skills/mdcp-arch-research/SKILL.md
EPI-CLM-research-warrant
Label: Evidence to specification lineage
Claimed operation: record observed evidence/limits, link durable positions to it and normative clauses to positions; unsupported clauses must be disclosed as guesses. Research observations are preserved and superseded rather than edited as current product truth. SRC-1, skills/mdcp-arch-research/SKILL.md, doctrine/design. No supplied runtime claim counterpart; adjacent RT-RTE-feature-work and RT-RTE-doc-review describe general production/maintenance rather than this evidence lineage.
- The record states what was observed and what it cannot support.
- The durable position cites the record by link.
- The normative clause cites the position. ---
skills/mdcp-arch-research/SKILL.mdA clause with no record behind it is a guess presented as a standard. Say so in the specification rather than quietly picking a number: a threshold derived from one small corpus is the failure this separation exists to make visible. ---
skills/mdcp-arch-research/SKILL.md
The operative semantic-review countercase also has direct doctrine support. It prevents interpreting the mechanical gate's limits as absence of all prescribed truth checking (SRC-1, skills/mdcp/references/review/lenses.md):
- Is each claim true of the default branch today? Spot-check commands, file paths, flag names, and config keys against the repository. ---
skills/mdcp/references/review/lenses.md
No actual record-to-clause acceptance instance was inspected. The doctrine does not itself individuate an accepted produced claim, demonstrate that evidence entails a specification, or establish lifecycle integration after acceptance.