Six weeks of work: PHP support across the whole pipeline, a large expansion of the CTKR categorical-knowledge toolset (subsystems, roles, operads, functor search, port verification), a value-equivalence oracle for cross-framework porting, and index/serve reliability fixes.
- PHP tree-sitter extraction lane: symbols, containment, tokens (MetaCoding-8sh)
- High-fidelity PHP SCIP lane via
scip-php, plus CLI support for pre-built PHP SCIP indexes (--load-scip) - PHP LSP (language server) support
- PHP inheritance edges (
EXTENDS/IMPLEMENTS/USES_TRAIT) and a tree-sitter field-access heuristic lane with edge provenance - Drupal-aware extraction: declarative-config intention lane, Drupal PHP file
extension detection (
.module/.install/.theme/.profile/.engine)
- New pipeline stages: subsystem partitioning (Stage A), boundary-morphism/interface extraction (Stage B), role inventory (Stage C), operad recovery (Stage C), spec-deck NL rendering (Stage D/E) — each with an MCP tool
- Functor discovery: search, eval harness, artifact emission (
functors.parquet), hom-profiles (opt-in 2-hop WL-refinement, per-edge-kind weighting), and thefunctor_betweenMCP tool - Port-verifier: functor-as-acceptance-test with §6.2 normalization
- Glossary tooling:
propose-terms,glossary-gapsvocabulary diff, glossary binding gate with spec-driven term codegen, term-incidence graph, role-gaps sweep - Lexicon-bind: multiple wave-1/wave-2 term bindings across log-family features (birth_mother, lot_number, delete_quantity, material_quantity, equipment_used, and others)
- CTKR Observatory: live visualization of islands, entropy, twins, and the port bipartite graph
- Entropy/marginal-entropy harness with
--kind-weightsupport
- Value-equivalence oracle: glossary, fixtures, farmOS driver, recorder, runner, CLI
- Intention harvest (mechanical + LLM-assisted), calibration pipeline
(
calibration.parquet, ingest CLI, dial sweep), target-conditioned port briefs - Kernel evolution v1 → v1.3: frozen shared-decision elements, fold library
(
FoldReduce,GSet,GuardedFirstWrite), status split, staleness pin - Trust model refactor: authority / no-pen / no-answer; epistemology charter replacing the "courtroom" model with dialectic
metacoding doctor: reports active lanes and tooling gaps
- Read-only opens now coexist with a running index (epic MetaCoding-gh0)
servereopens on refresh — picks up a reindex without restart- Index-state observability: distinguish "not indexed" from "no results"
serveexits on client disconnect so the LSP child can't orphan- Watch-mode resolver hydration scoped to needed names (perf)
--per-commit-identityre-reads HEAD per watch event
- SCIP no longer clobbers tree-sitter structural fields on field-level merge
- Namespace-qualified
CONSTRUCTSedges + denylist ANNOTATESemission for imported/unresolved decorators; newRAISESedge kindCALLSedges now derived from callableREFERENCESin the PHP SCIP lane- Declared
scipyas a runtime dependency (networkx pagerank/eigenvector requires it) DataFieldCard.typepopulated for scalar fields; worktree path normalization
Previous release.