Add incremental adapter compiler boundary
This commit is contained in:
parent
82b3b90521
commit
696b62f9f8
20 changed files with 1592 additions and 122 deletions
|
|
@ -16,7 +16,10 @@ declared rendering, and the Nodes/Flow/Web visualization model documented below.
|
|||
- Disposable SQLite indexing with lexical search, filters, backlinks, dependencies, and impact.
|
||||
- Bounded context profiles for AI agents, including source paths and content hashes.
|
||||
- Isolated, optimistic changesets with create, update, move, delete, validation, diffs, and previews.
|
||||
- Relationship-only changeset operations that do not rewrite node content.
|
||||
- Hash-bound canonical application through both CLI and an explicitly enabled MCP tool.
|
||||
- Opt-in incremental adapter extraction with reverse-dependency invalidation.
|
||||
- Lazy function-scoped logic projections that do not densify the primary graph.
|
||||
- Declared HTML render views. Arbitrary templates, render commands, and output paths are rejected.
|
||||
- A loopback-only graph browser with Nodes, semantic Flow, and convergence Web views,
|
||||
relationship keys, source inspection, branch-aware node hiding, panel resizing, zooming, and
|
||||
|
|
@ -463,6 +466,7 @@ Example MCP client configuration:
|
|||
- `docforge_propose_node_create`
|
||||
- `docforge_propose_node_update`
|
||||
- `docforge_propose_node_move`
|
||||
- `docforge_propose_relationship_update`
|
||||
- `docforge_propose_node_delete`
|
||||
- `docforge_validate_changeset`
|
||||
- `docforge_get_changeset_diff`
|
||||
|
|
@ -487,9 +491,34 @@ Recommended agent sequence:
|
|||
7. Call `docforge_apply_changeset` with that exact hash.
|
||||
8. Report changed canonical files and derived refresh results.
|
||||
|
||||
Use `docforge_propose_relationship_update` when the intended change is only an edge addition or
|
||||
removal. It uses the same underlying validated update contract, but rejects empty relationship
|
||||
lists and makes it explicit that node content will remain unchanged.
|
||||
|
||||
Custom adapters may expose the application tool only when they supply a project-owned
|
||||
`CanonicalApplier`. Core DocForge will not guess how adapter nodes map back to canonical sources.
|
||||
|
||||
## Incremental adapter compilation
|
||||
|
||||
Release 1 complete-projection adapters remain supported. Adapters with large source trees can
|
||||
implement the optional source-scoped manifest and extraction contract. DocForge then fingerprints
|
||||
sources, reuses unchanged facts, reparses changed sources and their reverse dependents, validates a
|
||||
complete candidate graph, and publishes the index atomically.
|
||||
|
||||
Build results report cache hits, reparsed sources, invalidated sources, deleted sources, and total
|
||||
sources. A full projection remains the fallback and equivalence oracle.
|
||||
|
||||
Manual proposals remain separate from compilation. Applying an approved changeset updates
|
||||
canonical sources first. Incremental compilation then notices those changed source fingerprints;
|
||||
it never treats an unapplied proposal as canonical.
|
||||
|
||||
Function-scoped `LogicProjection` data is cached alongside its owning source but remains separate
|
||||
from the primary Nodes, Flow, and Web graph. This is the storage boundary for a future boolean and
|
||||
control-flow view without adding every condition and basic block to ordinary graph traversal.
|
||||
|
||||
See [Incremental Adapter Indexing](INCREMENTAL_INDEXING.md) for the complete contract, cache
|
||||
invalidation rules, manual-application lifecycle, and lazy Logic boundary.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### `stale_index` or `visualization_stale`
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue