Skip to content

spec(knowledge-ingest): add specification for zeph knowledge ingest (spec-067)#5025

Merged
bug-ops merged 2 commits into
mainfrom
feat/m29/5012-knowledge-ingest-spec
Jun 7, 2026
Merged

spec(knowledge-ingest): add specification for zeph knowledge ingest (spec-067)#5025
bug-ops merged 2 commits into
mainfrom
feat/m29/5012-knowledge-ingest-spec

Conversation

@bug-ops

@bug-ops bug-ops commented Jun 7, 2026

Copy link
Copy Markdown
Owner

Summary

Adds the full Spec-Driven Development package for zeph knowledge ingest (spec-067) — BRD / SRS / NFR / technical spec / implementation plan / developer tasks — and registers it in the specs index. Docs/spec only — no Rust code changed.

The command seeds Zeph's memory with project knowledge on demand. Design decided after architect + adversarial-critic review, with a two-sink split:

  1. Static project artifacts → semantic notes (Qdrant) via the existing IngestionPipeline (the zeph ingest path). No graph writes; ships first; lowest risk.
  2. Agent episodes → knowledge graph (relational, multi-hop), reserved for the cross-agent episode layer. MVP source is Zeph's own subagent transcripts. Gated by a measurement spike + kill-criterion — ships only if it measurably beats semantic notes.

Raw source code stays in zeph-index. External Claude Code / Codex transcript import is deferred (unstable schemas, cross-project privacy, verbatim-no-PII-redaction write path).

Critic blockers addressed as prerequisites / invariants

  • C1 (no provenance → irreversible imports): Phase 0 migration adds origin/import_batch_id/source_uri to graph_edges+graph_entities + knowledge rollback.
  • C2 (RPE bypass vs write-pollution spec 004-9): ingest bypasses only RPE; the write-quality gate (004-9) and admission control (004-3) stay ON.
  • C3 (ledger false confidence): content-hash ledger documented as a re-read/cost guard only.
  • S2 (hub-node pollution): technical-document extraction prompt + dry-run hub-degree report + the §7 spike gate.
  • S4 (privacy): sanitizer as PostExtractValidator + current-project allowlist.

Phases

  • Phase 0 — provenance + rollback prerequisite (blocks all graph writes)
  • Phase 1 — static artifacts → semantic notes (ships first; no graph)
  • Phase 2 — subagent transcripts → graph (gated by §7 measurement spike)
  • Phase 3 — external Claude/Codex import (deferred)

Changes

New specs/067-knowledge-ingest/ package (matches the 066-deep-link-scheme SDD layout):

  • spec.md — technical/principle spec: FR/NFR, invariants (INV-1..8), schema, phases, §7 gate, acceptance criteria.
  • README.md — package index + scope summary + traceability map.
  • brd.md — business requirements (BR-1..BR-5, stakeholders, success criteria, out of scope).
  • srs.md — software requirements (EARS, ISO/IEC/IEEE 29148:2018); §9 lists 3 open questions (OQ-1..3) with owners/deadlines.
  • nfr.md — non-functional requirements (8 ISO/IEC 25010:2011 characteristics, each with a verification method).
  • plan.md — implementation plan: phases, milestones, dependencies, risk register.
  • tasks.md — developer tasks tracing to issues knowledge ingest: Phase 0 provenance migration + recall isolation flag #5015knowledge ingest: DEFERRED external Claude Code / Codex transcript import #5024 and to FR/NFR/INV.

Plus specs/README.md, specs/MOC-specs.md — index registration.

Tracking

Epic #5012 (milestone M29). Decomposed into 10 child issues #5015#5024. This PR delivers the spec only; implementation lands per-issue starting with the foundation wave (#5017 + #5015 + #5016).

Validation

Docs/spec only — no .rs touched, so the Rust pre-PR gate (fmt/clippy/nextest) is not applicable. Spec frontmatter and wikilinks follow specs/TEMPLATE.md; all internal links resolve.

…5012)

Two-sink design: static artifacts to semantic notes via the existing
IngestionPipeline (no graph), subagent transcripts to the knowledge graph
gated by a measurement spike. Phase 0 provenance + rollback; graph ingest
honors the write-quality gate (004-9) and admission control (004-3),
bypassing only RPE; sanitizer on the write path. External Claude/Codex
import deferred. Registers spec 067 in README and MOC index.
@github-actions github-actions Bot added documentation Improvements or additions to documentation size/XL Extra large PR (500+ lines) labels Jun 7, 2026
@bug-ops bug-ops added the feature New functionality label Jun 7, 2026
@bug-ops bug-ops added this to the M29 milestone Jun 7, 2026
… for spec-067 (#5012)

Generated the standard Spec-Driven Development companion documents around the
existing technical spec, matching the 066-deep-link-scheme package format:
README (index + traceability), BRD (BR-1..BR-5), SRS (EARS FRs, ISO/IEC/IEEE
29148:2018), NFR (8 ISO/IEC 25010:2011 characteristics), implementation plan
(phases, milestones, risk register), and developer tasks tracing to issues
#5015-#5024. Adds spec_id to spec.md frontmatter.
@bug-ops
bug-ops merged commit d088bbc into main Jun 7, 2026
23 checks passed
@bug-ops
bug-ops deleted the feat/m29/5012-knowledge-ingest-spec branch June 7, 2026 16:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation feature New functionality size/XL Extra large PR (500+ lines)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant