Add incremental adapter compiler boundary
This commit is contained in:
parent
82b3b90521
commit
696b62f9f8
20 changed files with 1592 additions and 122 deletions
|
|
@ -1,4 +1,4 @@
|
|||
# DocForge 0.14 contract
|
||||
# DocForge 1.1 development contract
|
||||
|
||||
## Authority boundary
|
||||
|
||||
|
|
@ -19,7 +19,8 @@ commit when Git is available; it cannot change repository state.
|
|||
- Result envelope: `schemas/result.schema.json`, version 1.
|
||||
- Changeset schema: `schemas/changeset.schema.json`, version 1.
|
||||
- Index schema: version 1, disposable and reproducible.
|
||||
- Core, CLI, and MCP server: version 1.0.0.
|
||||
- Core, CLI, and MCP server: version 1.1.0.dev0 on `Dev-Rewrite`.
|
||||
- Incremental extraction cache: version 1, disposable and reproducible.
|
||||
|
||||
Schema files describe the generic interchange contract. Runtime validation remains responsible for
|
||||
path confinement, source hashing, relationship resolution, dependency cycles, project limits, stale
|
||||
|
|
@ -48,6 +49,10 @@ operation names its expected base hash. A move preserves the stable node ID. A d
|
|||
every incident relationship. Proposal validation and storage are atomic. Application requires the
|
||||
exact final changeset hash; prose is never auto-merged.
|
||||
|
||||
Relationship-only additions and removals use the validated update operation without changing node
|
||||
metadata or content. They remain bound to the complete changeset base hash and the anchor node's
|
||||
expected content hash.
|
||||
|
||||
The MCP process binds to one configured writer identity at startup. The project descriptor grants
|
||||
that writer explicit families and operation types. A changeset records its creator, project root
|
||||
fingerprint, base revision, canonical source hash, and ordered operations. Every append requires the
|
||||
|
|
@ -200,3 +205,15 @@ An explicit integration may construct the full fixed MCP surface for a configure
|
|||
and one startup-bound writer. Canonical application is registered only when the integration also
|
||||
supplies a startup-bound applier identity and project-owned `CanonicalApplier`. An adapter without
|
||||
proposal settings or validation remains read-only.
|
||||
|
||||
An adapter may additionally implement the opt-in incremental contract. Its manifest inventories
|
||||
stable source IDs, fingerprints, extractor versions, and source dependencies without parsing the
|
||||
complete project. Each extraction owns deterministic nodes, relationships, and optional
|
||||
function-scoped logic. Added, changed, deleted, and reverse-dependent sources are invalidated.
|
||||
Cached and refreshed facts are always assembled into a complete projection and pass normal graph
|
||||
validation before publication. The full projection loader remains the fallback and equivalence
|
||||
oracle.
|
||||
|
||||
Logic projections are not primary graph nodes. They remain source-scoped, function-owned,
|
||||
independently cached control-flow data so ordinary search, Nodes, Flow, and Web do not become
|
||||
statement graphs.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue