Files
stack/docs/plans/CURRENT.md
T
jason.woltje ca8135d70c feat(roles): M18 seat-role progressive capability restriction (#45)
Role contracts (roles/<role>.json): roleVersion, name bound to filename,
tools ceiling (subset of pi built-ins), network declared (none|api-only|
open; enforced when network policy lands). Strict schema, fail closed -
a non-role document refuses resolution.

mosaic-task.mjs resolve-role: config-free contract validation, emits
MOSAIC_ROLE_TOOLS / MOSAIC_ROLE_NETWORK.

agent.sh: a declared role binds to its contract. Missing/invalid contract
refuses the launch (exit 2, names the role - the under-equipped-seat
failure mode, mirroring M17 skills). Effective tools = ceiling ∩ requested
(CLI --tools or agent.json caps); no request -> ceiling stands; narrowing
and tool-free outcomes loud on stderr. Adapters unchanged; headless M9
chain (mission ∩ task) untouched.

Ships roles/researcher.json (existing seat declares the role; without the
contract the fail-closed gate would refuse its launch).

Task suite 74 -> 88: contract resolution, wrong-kind/name/network/
duplicate/unsupported/missing refusals, ceiling narrowing E2E (mock
adapter), tool-free E2E, missing-contract refusal. Test-authoring
correction recorded in BUILD-LOG (a check that registered on one path
only, caught by count arithmetic).

Suites 24/88/14/17 + verify green.
2026-09-03 17:25:17 -05:00

3.7 KiB
Raw Blame History

CURRENT — single source of "what happens next"

This file always names exactly one next action. Any "continue" / "next" / "proceed" message means: execute the action below, fully (implement → test → verify against its acceptance criteria → commit → push → close the issue → update this file to the next action). No ambiguity, no re-planning.

Next action

M19 — harness auth tooling (pi checkpoint: auth status, provider stacking, multi-account investigation) — say "next" to execute.

Queue (ordered per docs/plans/ROADMAP.md)

  1. Deferred by owner: CI runners (Gitea hardware slow); second real adapter; push automation

Rules

  • One action in flight. Update this file at the END of every action.
  • Blocked? Move the item to "Blocked" below with the reason and stop.
  • Completed actions move to the log at the bottom (date + issue + result).
  • Corrected entries are marked, never silently rewritten (see 2026-09-03 dedup note).

Blocked

(none)

Completed log

Note (2026-09-03): this log was deduplicated after editor-session races appended duplicate blocks. The dedup removed repeated lines only; every distinct action appears exactly once, in completion order. Ground truth: git history + Gitea issues.

  • 2026-09-03 — POC: containerized pi hello-world (poc-container-hello-v0)
  • 2026-09-03 — M1 configuration-driven hello world (#1#4; config-hello-v1); hotfix #5 stdin detach
  • 2026-09-03 — M2 mission/task abstraction (#6#9; mission-task-v1); hotfix #14 release identity in task path
  • 2026-09-03 — M3 release model + safe updates (#10#13; release-model-v1); drills: update/refusal/rollback
  • 2026-09-03 — M14 live user context layer (user/ dispatched to all launches; 0.0.9 built)
  • 2026-09-03 — M15 agent seats: per-agent SOUL + role contracts (#36; agent-seats-v1); roles/ convention (root = bootstrap-only)
  • 2026-09-03 — M13 interactive TUI agent + TOOLS.md (#35; interactive-agent-v1); release 0.0.8 activated
  • 2026-09-03 — M12 conductor auto-apply policy (#34; auto-apply-v1); 17 conductor selftests
  • 2026-09-03 — M11 session forking (#33; session-fork-v1); child recalls ancestor, base untouched
  • 2026-09-03 — M10 run-record retention (#32; retention-v1); prune keep-N, dry-run default, receipt
  • 2026-09-03 — M9 mission capability policy (#30; mission-policy-v1); least-privilege intersection
  • 2026-09-03 — test UX: green OK/red FAIL status colors; NO_COLOR-aware
  • 2026-09-03 — M10-era hotfix: retry lineage (#28) + AGENTS.md/SESSIONS.md recovery shim
  • 2026-09-03 — release 0.0.10 packaged and health-gated activated (user context + agent seats live)
  • 2026-09-03 — release 0.0.11 shipped (onboarding + live user context); ROADMAP.md agreed (M16M19); CI deferred by owner
  • 2026-09-03 — M16 release self-determination (#38; release.sh ensure at launch, drift warnings, recursion guard) — logged late: CURRENT.md had gone stale while M16/M17 shipped; ground truth = git history
  • 2026-09-03 — M17 skill lifecycle + ms-* skill set completion (#40#42; skill-lifecycle-v1); release 0.0.12 packaged, health-gated active — logged late, same staleness correction
  • 2026-09-03 — conductor-loop calibration with live collaborator (#43): dispatch via agent-send.sh → receipt → line-by-line diff review → suite-gated integration; docs/TOOLS.md gains Tools (host-side) section + corrected suite counts
  • 2026-09-03 — skill revisions adjudicated (#44): ms-communications integrated as-authored; ms-conductor redraft + conductor remediation (refusal vs outage); TOOLS.md release.sh ensure row
  • 2026-09-03 — M18 seat-role progressive capability restriction (#45; roles resolve to contracts, ceiling ∩ seat grant, fail-closed refusals, roles/researcher.json); task suite 74 → 88