1
0
Fork 0
Code Issues Pull requests Projects Releases 2 Packages Wiki Activity Actions Pages

feat: add deterministic preview rendering

This commit is contained in:
Andraxion 2026-07-22 03:32:05 -04:00
parent 8c75f4f44d
commit 411f417670
23 changed files with 1413 additions and 142 deletions

View file

@ -4,14 +4,15 @@ DocForge is a project-scoped documentation service for people and AI agents. It
Markdown and TOML from one repository, validates stable nodes and relationships, builds a disposable
search index, and returns bounded context with source provenance.
DocForge does not own project facts. It does not select project work, edit generated output, run
project commands, or perform Git and deployment operations.
DocForge does not own project facts. It does not select project work, apply proposals, run project
commands, or perform Git and deployment operations. It may write only configured derived output and
isolated previews through the explicit render boundary.
## Current gate
DFG-1 through DFG-3 are complete. DFG-4 is the active gate: deterministic previews and renderer
orchestration over validated project data. Canonical application remains external and closed to the
normal MCP server.
DFG-1 through DFG-4 are complete. DFG-5 is the active gate: a shadow-only Worldforge adapter that
must reproduce current semantics and output without changing the live workflow. Canonical
application remains external and closed to the normal MCP server.
## Development
@ -19,6 +20,8 @@ normal MCP server.
uv sync
uv run python -m unittest discover -s tests -v
uv run docforge --project-root tests/fixtures/alpha validate
uv run docforge --project-root tests/fixtures/alpha render-status manual
uv run docforge --project-root tests/fixtures/alpha render manual
uv run docforge-mcp --project-root tests/fixtures/alpha --proposal-writer alpha-editor
```
@ -29,3 +32,8 @@ Proposal writers are declared by ID in `.docforge/project.toml`. Each writer rec
families and operation types. The MCP process binds to one writer at startup; tools cannot select or
impersonate another writer. Create, update, move, and delete tools write only isolated JSON
changesets below the configured changeset root.
Projects may also declare render views with confined template, preview, and output paths. The first
built-in renderer converts CommonMark to escaped HTML through strict template tokens. MCP may render
validated changesets only into isolated preview paths. Declared project output is generated through
the explicit local CLI command and is never an MCP operation.