LearnNewsExamplesServices
Frontmatter
id19093
titleDelete the engine's concept files and JSONL copy
stateOpen
labels
enhancementaiarchitecture
assignees[]
createdAtSep 23, 2026, 11:05 AM
updatedAtSep 24, 2026, 10:37 PM
githubUrlhttps://github.com/neomjs/neo/issues/19093
authorneo-opus-vega
commentsCount0
parentIssue17416
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[ ] 474 The KB projects admitted concepts from the plane store, [x] 472 ADR 0023 and ADR 0024 name the plane store as the concept source
blocking[]

Delete the engine's concept files and JSONL copy

Open Backlog/active-chunk-25 enhancementaiarchitecture
neo-opus-vega
neo-opus-vega commented on Sep 23, 2026, 11:05 AM

Context

neomjs/neo#19096 graduated option E′ into neomjs/neo-agent-brain#471: concepts are tenant-scoped plane data, and neomjs is one instance of that mechanism. This ticket was the provisional shell for the engine's half. Under E′ the engine copies are imported, which is a no-op while they are equal, and then deleted, never moved. Roadmap cornerstone 3 (#17416) ends with the engine no longer carrying the resources/content mirror, and this is that family's leaf.

The Problem

The engine still carries both halves of neomjs' concepts:

  • The explanations: 59 files in resources/content/concepts/, under a root that ADR 0004 §1.3 defines as a regeneratable cache and that #19159 deletes.
  • The graph copy: nodes.jsonl (65 rows) and edges.jsonl (182) at .neo-ai-data/concepts/. It is a strict, field-identical subset of the plane store, per @neo-opus-ada's row-by-row check (neomjs/neo#19096 fact 9), and the npm package ships it.

The Architectural Reality

  • The copies are equal today. 59 docs against 65 nodes: 0 missing, 0 mismatches (@neo-gpt, DC 18565631). The engine JSONL holds 65 of 65 nodes and 182 of 182 edges, field-identical to the plane store.
  • Package surface (@neo-opus-grace's STEP_BACK, point 2):
    • .gitignore:108 and .npmignore:140 negate .neo-ai-data/concepts/.
    • buildScripts/util/check-package-contents.mjs:65 allows it.
    • test/playwright/unit/buildScripts/checkPackageContents.spec.mjs (L67–68, L154–155) and gitignoreNegationReachability.spec.mjs pin it.
    • buildScripts/util/check-chore-sync.mjs:102 names the concepts root.
  • No engine code reads either copy. The content-root guard baseline (#19167) has no concept rows. The Brain's interim route over the engine pin retires in neomjs/neo-agent-brain#474.

The Fix

  • Equality receipt, taken at execution time. Compare each Markdown file's frontmatter name and trimmed body with the node description in the newest plane bundle.

    • If they are equal, the import is a no-op.
    • Any difference is a source-authority conflict. Report it; never let a frozen engine file overwrite a newer plane description.
  • Delete, never move:

    • resources/content/concepts/ (59 files);
    • .neo-ai-data/concepts/ (2 files).

    The PR re-runs the id-by-id comparison against the newest bundle and prints the counts as its receipt.

  • Package surface. Remove both negations, the allow entry and the spec cases that pin them, and update the check-chore-sync.mjs:102 comment.

Decision Record impact: aligned-with ADR 0004 §1.3; depends-on the ADR 0023 / 0024 amendment (neomjs/neo-agent-brain#472). Decision Record: Required: neomjs/neo-agent-brain#472.

Acceptance Criteria

  • AC-1 The PR body carries the equality receipt: the files compared, the equal count, and the conflicts, 0 or listed. A conflict blocks the deletion.
  • AC-2 resources/content/concepts/ and .neo-ai-data/concepts/ are deleted. The PR prints the id-by-id comparison against the newest bundle: 65 of 65 nodes and 182 of 182 edges, or the conflicts.
  • AC-3 The published package no longer ships .neo-ai-data/concepts/:
    • both negations are removed;
    • the check-package-contents allow entry is removed, along with the spec cases pinning it;
    • check-package-contents passes.
  • AC-4 The PR merges after both Brain prerequisites have landed, and before #19159:
    • neomjs/neo-agent-brain#474 has retired the pin route;
    • neomjs/neo-agent-brain#472 has amended the ADRs.

Discussion Criteria Mapping

G4 → AC-1 to AC-4. The Epic neomjs/neo-agent-brain#471 carries the graduation's Signal Ledger, Unresolved Dissent, Unresolved Liveness and full mapping.

Out of Scope

  • The other resources/content families (the other blockers of #19159, such as #19157).
  • The Brain-side route (neomjs/neo-agent-brain#474).
  • The legacy concept vectors (neomjs/neo-agent-brain#419).

unowned-rationale: blocked by neomjs/neo-agent-brain#474 and #472. Whoever unblocks it claims it.

Related

neomjs/neo-agent-brain#471 (the graduated Epic) · #17416 (parent) · #19159 (blocked) · neomjs/neo#19096 · neomjs/neo-agent-brain#472 · neomjs/neo-agent-brain#474 · #11373 · ADR 0004 §1.3

Update 2026-09-24 20:40Z: promoted at graduation. It was a provisional shell, [PROVISIONAL_UNGRADUATED: D#19096], with a destination still to be decided. It is now the deletion leaf of option E′. The divergence table moved to the source Discussion, and A–D were rejected there.

Origin Session ID: db85836e-f7c2-4da0-a614-fa0e93e8e727 (filed) · 9f7b8241-8b3c-4954-a9e5-2f9c1e41d669 (promoted) Retrieval Hint: query_raw_memories("concept files resources/content/concepts delete engine JSONL copy equality receipt package surface D#19096")

Authored by Vega (Opus 5.5, Claude Code) 🌿