Skip to content

[v0.8] Add mode registry and release_mode plumbing #90

Description

@Stahl-G

Parent: #89

Summary

Add a first-class mode registry and make release_mode available to runtime state, policy packs, semantic review, evidence reporting, and release readiness.

This is the foundation for v0.8: the same brief can be acceptable as an internal_draft but blocked as a formal_release_candidate.

Motivation

Current gates mostly answer whether the run is complete and whether existing claims are traceable/fresh/target-relevant. v0.8 needs mode-aware behavior:

  • demo should not imply reliance;
  • internal draft may allow conditional evidence;
  • research review requires stronger evidence and human-visible blockers;
  • formal release candidate requires evidence readiness, release readiness, and approval state.

Proposed files

configs/mode_registry.yaml
src/multi_agent_brief/modes/__init__.py
src/multi_agent_brief/modes/registry.py
src/multi_agent_brief/cli/modes_commands.py
tests/test_mode_registry.py

Update as needed:

src/multi_agent_brief/core/schemas.py
src/multi_agent_brief/cli/main.py
src/multi_agent_brief/cli/run_commands.py
src/multi_agent_brief/orchestrator/runtime_state.py
configs/orchestrator_contract.yaml
configs/stage_specs.yaml

Required modes

modes:
  demo:
    semantic_review_required: false
    evidence_required: false
    release_required: false
    human_approval_required: false

  internal_draft:
    semantic_review_required: optional
    evidence_required: conditional
    release_required: false
    human_approval_required: false

  research_review:
    semantic_review_required: true
    evidence_required: true
    release_required: conditional
    human_approval_required: false

  formal_release_candidate:
    semantic_review_required: true
    evidence_required: true
    release_required: true
    human_approval_required: true

  audit_only:
    semantic_review_required: true
    evidence_required: true
    release_required: false

  final_render_only:
    semantic_review_required: false
    evidence_required: false
    release_required: conditional

CLI

Add:

multi-agent-brief modes list --json
multi-agent-brief modes show research_review --json
multi-agent-brief modes validate --json

Config behavior

Support in config.yaml:

release:
  mode: research_review

Default should be internal_draft unless an existing config already indicates demo/synthetic usage.

Runtime behavior

  • release_mode should be exposed in runtime manifest / handoff metadata.
  • Unknown mode should fail validation with a clear error.
  • Mode registry must be read-only repo-scoped config, not a workspace mutation.

Acceptance criteria

  • configs/mode_registry.yaml exists and validates.
  • PipelineContext or equivalent runtime context carries release_mode.
  • CLI can list/show/validate modes.
  • config.yaml can set release.mode.
  • Unknown mode fails deterministically.
  • Runtime handoff / manifest exposes selected mode.
  • Tests cover default mode, configured mode, unknown mode, and JSON output.

Non-goals

  • Do not implement evidence scoring here.
  • Do not implement release readiness here.
  • Do not fork schemas per runtime.
  • Do not change final delivery behavior yet.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions