Files
acdl/.ciagent/PERSONAS.md
T
grimacing 0672edfc3f ship: phase-05 evidence-ui-and-demo-dry-run (v1.0.5)
Squash merge of phase/05-evidence-ui-and-demo-dry-run; evidence-ui/index.html + run_demo.sh 4-act simulation + verify_phase05.sh; demo live at acdl-evidence raw URL.
2026-07-21 13:53:54 +00:00

5.1 KiB

project, milestone, generated_at, generator, verification_toolchain
project milestone generated_at generator verification_toolchain
acdl v1.0 2026-07-21 lead-developer
typecheck test build note
bash -n scripts/**/*.sh modules/**/*.sh && python3 -m py_compile scripts/**/*.py scripts/verify_phaseNN.sh no-op (no build step; bash + python stubs) ACDL has no package.json. The execute/verify/ship workflows substitute bash -n and python -m py_compile for npm run typecheck, a per-phase verify script for npm test, and treat npm run build as a no-op. This override is documented here as the single source of truth; the ci-* agents read PERSONAS.md before running verification commands.

ACDL — Persona Roster (project-level)

Active personas

lead-developer

  • Domain: coordination
  • Active: true
  • Phase-specific: false
  • Frameworks: (none)
  • Constraints: pragmatic, battle-tested defaults, no-cross-territory-edits
  • Territory: .ciagent/**, scripts/verify_phase*.sh, README.md, .gitignore
  • Reason: Owns CIAgent metadata and cross-phase verification scripts.

backend-engineer

  • Domain: backend
  • Active: true
  • Phase-specific: false
  • Frameworks: gitea-actions, act_runner, bash, python, yaml
  • Constraints: no-cloud, no-ai, stub-only, hash-chain-must-be-deterministic, max-depth-5
  • Territory: .gitea/workflows/**, scripts/** (except scripts/verify_phase*.sh), modules/l2/**/manifest.yaml
  • Reason: Owns workflow YAML, core scripts (mock_executor, policy_checker, confidence_signal, evidence_writer, l3b_agent_stub), and L2 composition manifests.

infra-stub-engineer (custom)

  • Domain: backend
  • Active: true
  • Phase-specific: false
  • Frameworks: bash, yaml
  • Constraints: mock-only, echo-contract-from-D-007, sleep-1s-exit-0, substrate-agnostic, single-purpose
  • Territory: modules/l1/**
  • Reason: Created to own L1 stub modules (Phase 02) and their uniform mock_apply.sh behavior per D-007. Domain is backend (bash stubs) but territory is strictly L1 modules to keep L1/L2 concerns separated from workflow YAML.

Deactivated personas

data-engineer

  • Domain: data
  • Active: false
  • Reason: No persistence layer. ACDL state is flat JSON files (audit.json, state.json) written by bash/python scripts; no ORM, no migrations, no DB. Schema contracts live in manifest.yaml (owned by backend-engineer / infra-stub-engineer).
  • Phase-specific: false
  • Frameworks: (would have been: drizzle, prisma)
  • Constraints: (would have been: schema-first, type-safe-orm)
  • Territory: (would have been: **/db/**, **/migrations/**)

frontend-engineer

  • Domain: frontend
  • Active: true # REACTIVATED for Phase 05 (evidence UI + dry run)
  • Reason: Phase 05 builds the vanilla-JS index.html timeline UI (REQ-14) and runs the 4 demo acts end-to-end dry run (REQ-15). Inactive for Phases 01-04 (no UI).
  • Phase-specific: true (this reactivation is for Phase 05 only; will be deactivated again after the milestone ships if the project continues)
  • Frameworks: vanilla-js, dom-api, fetch-api
  • Constraints: no-frameworks, single-file, fetch-from-same-origin-raw-url, relative-url-for-audit-json
  • Territory: evidence-ui/** (the source-of-truth index.html in the acdl repo; pushed to acdl-evidence by run_demo.sh)

Phase-specific overrides

Phase Personas active Reactivations / notes
01 repo-scaffolding lead-developer, backend-engineer infra-stub-engineer idle (no L1 work this phase)
02 l1-modules lead-developer, backend-engineer, infra-stub-engineer infra-stub-engineer owns L1 stubs
03 l2-modules-and-core-scripts lead-developer, backend-engineer, infra-stub-engineer backend-engineer owns core scripts + L2 manifests; infra-stub-engineer only updates L1 manifests if referenced
04 pipeline-and-approval-gates lead-developer, backend-engineer infra-stub-engineer idle; frontend-engineer still off
05 evidence-ui-and-demo-dry-run lead-developer, backend-engineer, frontend-engineer frontend-engineer REACTIVATED for index.html only; backend-engineer owns the dry-run script and audit.json wiring

Domain priority (used by TaskDecomposer)

coordination -> backend -> infra-stub-engineer -> frontend-engineer (Phase 05 only)

Conflict resolutions (lead-developer arbitration)

  • backend-engineer vs infra-stub-engineer over modules/l2/**/manifest.yaml: backend-engineer owns L2 manifests; infra-stub-engineer owns L1 manifests. No overlap.
  • backend-engineer vs frontend-engineer over acdl-evidence/index.html: frontend-engineer owns the file in Phase 05; backend-engineer provides the audit.json schema contract (event shape) via evidence_writer.py and a SCHEMA.md note in ARCHITECTURE.md.
  • lead-developer vs any: lead-developer owns .ciagent/** and verification scripts; persona engineers do not edit CIAgent metadata.

Territory enforcement mode

warn — config.json has no personas.territory_enforcement field, so the default per execute.md is warn. Cross-territory edits are logged in the commit message but do not fail the task.