Doc HTML

Doc HTML is one intake-form row that folds in two action-layer backend types behind an Upkeep / Create toggle. Upkeep (→ doc_upkeep) validates and updates an existing HTML documentation folder against both the live code and the documentation UI kit. Create (→ doc_create) generates new HTML documentation for a section or the full application using that same kit. Both are HTML-documentation-only actions, each its own standalone mini-orchestrator.

All request types

The form anchors this row on the real doc_upkeep code (relabelled “Doc HTML”) and adds a doc_mode sub-toggle: Upkeep (update existing) by default, switchable to Create (generate new). An effectiveType() resolver maps upkeep → doc_upkeep and create → doc_create; the two modes’ differing fields live inside the always-visible action-config section.

HTML-docs only — not the markdown-aware revalidate. Both Doc HTML modes operate strictly on HTML documentation that consumes the kit. They are distinct from the pipeline-layer doc_revalidate type, which discovers and re-syncs a project’s whole documentation landscape across all formats (markdown prose, HTML sites, prompt/schema/config files) through the staged lifecycle. Reach for Doc HTML when the target is one HTML docs folder (Upkeep) or a new HTML docs set (Create); reach for doc_revalidate when you want the entire multi-format landscape re-validated at once.

The flow

Each mode runs its own action-layer mini-orchestrator outside the stage pipeline. Both first resolve and analyze the documentation UI kit from the committed pointer, then diverge: Upkeep surveys an existing folder before applying confined edits; Create plans an information architecture before fanning out page authors.

Upkeep — doc_upkeep

Upkeep reads the ## Action config, runs the read-only webkit analysis, validates the target is an HTML docs folder, then runs a read-only managed-loop survey (drift on two axes + page-structure logic). In apply mode it applies confined updates inside the target folder, validates, and writes the report; in report_only mode it skips the apply pass.

Create — doc_create

Create reads the ## Action config, runs the same webkit analysis, resolves the target plus CreationScope / SourceScope, plans the page/nav information architecture (an internal pass for full_app), fans out one page-author sub-agent per page, assembles the shared shell itself, validates, and writes the report.

What it is for

Pick the mode by whether the docs already exist:

Upkeep produces confined edits to an existing folder; Create produces new files in a target folder. Both always write 09_action/action-report.md.

Upkeep is the write-capable superset of audit Kind: doc_drift. The read-only audit sweep reports doc↔code drift without writing. Upkeep reuses that framing and adds the second (docs↔webkit) axis and a confined apply pass — it surveys, then fixes. See audit.

The logic

After pickup, the orchestrator reads JOB.md → Type and looks the row up in the registry. Both backend types are layer action, shape orchestrator: the orchestrator’s top-level route (orchestrator.prompt.md → §C.route) hands the job off to the matching action prompt and does not enter the stage pipeline. There is no clarify step — each action is defined entirely by its ## Action config. The job subfolder is 09_action/, and the orchestrator stays the sole PROGRESS.md writer and sole 4_done mover.

The intake form resolves the sub-toggle to a backend type before emitting the intake: Upkeep → doc_upkeep, Create → doc_create (the shared effectiveType() resolver in interface/intake-generator.js). Both remain distinct registry / closed-vocabulary types with their own prompts and routing — the merge is presentation-only.

The committed webkit pointer (D-55). Both actions resolve the documentation UI kit (name / agent_guide / manifest) from the doc agents’ own committed, gate-excluded pointer _processes/03_action/_shared/documentation-webkit.json — never from app.md. The kit is intrinsic to the doc HTML agents (the same kit whatever host app is being documented). A dedicated read-only webkit-analysis sub-agent fetches the live guide + manifest fresh each run and returns a reference packet that the orchestrator injects verbatim into every survey / apply / page-author sub-agent. Upkeep’s second mandate axis — docs↔current-webkit drift — is powered by that packet’s What changed / current best practice section.

The fields

Both modes carry no ## Stages, ## Approval gates, or ## Per-stage config — they are routed by layer/shape. Each JOB.md carries the header, an ## Action block, ## Git, and an optional mandate (free-prose notes/specs for the page authors). Git defaults off in both presets.

Upkeep — doc_upkeep

doc_upkeep ## Action fields (source: _processes/_shared/presets/doc_upkeep.md)
BlockFieldDefaultNotes
## ActionTargetFolder(required)Repo-relative path to the HTML docs folder to govern. The agent refuses if blank — there is no “blank = whole app” default.
UpdateModeapplyapply validates and applies confined updates; report_only is a dry run that writes findings without editing.
AgentsclaudeSelects the survey/write sub-agent runtime(s); add codex only when config.json → runtimes.codex is true.
Depthstandardquick | standard | deep — tunes how deep the survey reads.
ConsolidatorclaudeSynthesises the per-section reports into 09_action/action-report.md.
## GitCreate branchnoOff by default — edits sit in the working tree. Flip on per-job to land updates on a branch / commit / PR.
Validate against mainno
Commitno
Pushno
PRno
PR target branch(blank)Blank resolves to production.
before_commitnoRenders inside the Git section.
before_prnoRenders inside the Git section.
# MandateNotes / specs(optional)Free prose flowing into the page authors’ guidance; empty is fine.

Create — doc_create

doc_create ## Action fields (source: _processes/_shared/presets/doc_create.md)
BlockFieldDefaultNotes
## ActionTargetFolder(required)Repo-relative destination. A brand-new docs-root is created only when CreationScope: full_app requests it and the parent folder exists; otherwise it must already exist.
CreationScopesectionsection (default) documents one area; full_app documents the whole application.
SourceScope(free-form)Which application area to document — required for section; the whole app for full_app.
AgentsclaudeSelects the page-author runtime(s); add codex only when config.json → runtimes.codex is true.
ConsolidatorclaudeSynthesises the run report.
## GitCreate branchnoOff by default — new docs sit in the working tree. Flip on per-job to land them on a branch / commit / PR.
Validate against mainno
Commitno
Pushno
PRno
PR target branch(blank)Blank resolves to production.
before_commitnoRenders inside the Git section.
before_prnoRenders inside the Git section.
# MandateNotes / specs(optional)Free prose for the page authors (e.g. “preserve this existing set’s structure, re-render it in the kit”); empty is fine.

How to run it

In the intake form, pick Doc HTML, set the doc_mode sub-toggle (Upkeep or Create), fill the mandatory target folder and the mode’s fields, and submit — that drops a contract-valid intake in jobs/0_new/. Then start the orchestrator by sending it the prompt path:

Orchestrator
_processes/02_orchestrator/orchestrator.prompt.md

The orchestrator bootstraps the intake, routes it as an action job, and runs the matching action prompt inline. To run an action prompt directly (when a job already exists in 2_ready/ / 3_ongoing/), send its path instead:

Doc upkeep action prompt
_processes/03_action/doc_upkeep/doc_upkeep.prompt.md
Doc create action prompt
_processes/03_action/doc_create/doc_create.prompt.md

The run’s output lands in the target folder — updated HTML in place (Upkeep, apply mode) or new HTML files (Create) — with a summary at 09_action/action-report.md. With Git off (the preset default) the changes sit in the working tree for review.

See also