Gormes

Progress Schema

Progress Schema

This page is generated from the Go progress model and validation rules.

Item Fields

FieldRequired whenMeaning
nameevery itemHuman-readable roadmap row name.
statusevery itemplanned, in_progress, or complete.
priorityoptionalP0 through P4. Item-level P0 rows require contract metadata.
contractactive/P0 handoffsThe upstream behavior or Gormes-native behavior being preserved.
contract_statuscontract rowsmissing, draft, fixture_ready, or validated.
slice_sizecontract rows and umbrella rowssmall, medium, large, or umbrella.
execution_ownercontract rows and umbrella rowsdocs, gateway, memory, provider, tools, skills, or orchestrator.
trust_classactive/P0 handoffsAllowed caller classes: operator, gateway, child-agent, system.
degraded_modeactive/P0 handoffsHow partial capability is visible in doctor, status, audit, logs, or generated docs.
fixtureactive/P0 handoffsLocal package/path/fixture set proving compatibility without live credentials.
source_refsactive/P0 handoffsDocs or code references used to derive the contract.
blocked_byoptionalRoadmap rows or conditions blocking this slice. Requires ready_when.
unblocksoptionalDownstream rows enabled by this slice.
ready_whencontract rows and blocked rowsConcrete condition that makes the row assignable.
not_ready_whenumbrella rows, optional elsewhereConditions that make the row unsafe or too broad to assign.
acceptanceactive/P0 handoffsTestable done criteria.
write_scopecontract rowsFiles, directories, or packages an autonomous agent may edit for this slice.
test_commandscontract rowsCommands that prove the slice without live provider or platform credentials.
done_signalcontract rowsObservable evidence that the row can move forward or close.

Meta Fields

FieldRequired whenMeaning
meta.autoloop.entrypointautoloop metadata is declaredMain unattended-loop script.
meta.autoloop.planautoloop metadata is declaredCanonical implementation plan for improving the orchestrator.
meta.autoloop.agent_queueautoloop metadata is declaredGenerated queue page for assignable rows.
meta.autoloop.progress_schemaautoloop metadata is declaredThis schema reference.
meta.autoloop.candidate_sourceautoloop metadata is declaredCanonical progress file consumed by the loop.
meta.autoloop.unit_testautoloop metadata is declaredFast verification command for orchestrator prompt/candidate behavior.
meta.autoloop.candidate_policyautoloop metadata is declaredShared selection rules injected into worker prompts.

Validation Rules

  • docs/data/progress.json must not exist.
  • if meta.autoloop is declared, entrypoint, plan, candidate source, generated docs, unit test, and candidate policy must all be present.
  • in_progress rows cannot use slice_size: umbrella.
  • item-level P0 and in_progress rows must include full contract metadata.
  • contract rows must declare slice_size, execution_owner, ready_when, write_scope, test_commands, and done_signal.
  • blocked rows must declare ready_when.
  • fixture_ready rows must name a concrete fixture package or path.
  • complete rows with contract metadata must use contract_status: validated.

Generated Agent Surfaces

  • autoloop-handoff.md lists shared unattended-loop entrypoint, plan, candidate source, generated docs, test command, and candidate policy.
  • agent-queue.md lists only unblocked, non-umbrella contract rows with owner, size, readiness, degraded mode, fixture, write scope, test commands, done signal, acceptance, and source references.
  • blocked-slices.md keeps blocked rows out of the execution queue while preserving their unblock condition.
  • umbrella-cleanup.md lists broad inventory rows that must be split before assignment.

Good Row

{
  "name": "Provider transcript harness",
  "status": "planned",
  "priority": "P1",
  "contract": "Provider-neutral request and stream event transcript harness",
  "contract_status": "fixture_ready",
  "slice_size": "medium",
  "execution_owner": "provider",
  "trust_class": ["system"],
  "degraded_mode": "Provider status reports missing fixture coverage before routing can select the adapter.",
  "fixture": "internal/hermes/testdata/provider_transcripts",
  "source_refs": ["docs/content/upstream-hermes/source-study.md"],
  "ready_when": ["Anthropic transcript fixtures replay without live credentials."],
  "write_scope": ["internal/hermes/"],
  "test_commands": ["go test ./internal/hermes -count=1"],
  "done_signal": ["Provider transcript replay passes from captured fixtures."],
  "acceptance": ["All provider transcript fixtures pass under go test ./internal/hermes."]
}

Bad Row

{
  "name": "Port CLI",
  "status": "in_progress",
  "slice_size": "umbrella"
}

This is invalid because an active execution row cannot be an umbrella, and it does not explain the contract, fixture, caller trust class, degraded mode, or acceptance criteria.