Files
stack/agents/rocko/work/queue-85/r2/out/task-coverage.md
jason.woltje 068d868a99 lead: commit rocko's untracked evidence (4471 files: queue-124 queue-129 queue-171 queue-178 queue-280 queue-31 queue-84 queue-85 queue-94)
Unclaimed files left in the canonical checkout. Inventory: canonical-cleanup-inventory.md (commit-as-evidence groups). detect-secrets scan clean on 2026-11-02: hits are sha256 pins, git object ids, test sentinels already in tracked tests and unit-file lines.
2026-11-02 15:05:15 -06:00

3.8 KiB

test-task.sh coverage with DOCKER_HOST=unix:///nonexistent.sock

Docker info refuses this endpoint. Four conditional blocks are skipped; printed skips count as neither passes nor failures. The skipped blocks contain 51 + 8 + 11 + 2 = 72 checks. The 26 executed checks plus these 72 account for the Docker-capable 98; this run claims only the executed 26.

Executed: schema/mission validation, immutable validation, prune receipts and retention, onboarding profile, and absence of an agent identity on a headless run.

Skipped adapter seam, mission/retry, skills/seat skills, role contracts/ceilings, seat fail-closed resolution, capability policy and user injection

Source lines 139-391:

  • mock adapter: gate passes on matching mock response
  • mock adapter: expect-mismatch recorded
  • mismatch reason recorded
  • unknown adapter fails closed
  • mission task runs via mock adapter
  • mission section injected into generated prompt
  • retry of mission run succeeds
  • retriedFrom lineage recorded
  • mission section present after retry (relative path resolved)
  • retry of missing run exits 4
  • skill install bundled ms-tools
  • installed to skills-available
  • double install refuses
  • activate enables skill
  • enabled dir populated
  • uninstall while enabled refuses
  • deactivate moves back to available
  • uninstall removes from available
  • seat with enabled skill launches
  • skill path delivered to adapter
  • shipped researcher contract resolves (ceiling + network)
  • resolve-role refuses a non-role document (conductor policy)
  • resolve-role refuses name/filename mismatch
  • resolve-role refuses unknown network declaration
  • resolve-role refuses duplicate role tool
  • resolve-role refuses unsupported tool
  • resolve-role refuses missing contract file
  • version 1 role prints no contract line
  • shipped version 2 roles resolve with their contracts (pm, cto, coder, reviewer)
  • resolve-role accepts a minimal version 2 role
  • resolve-role refuses an action outside the vocabulary
  • resolve-role refuses a gated-only action in a role file
  • resolve-role refuses a Vikunja verb no role may hold
  • resolve-role refuses a version 2 role whose contract is missing
  • resolve-role refuses a contract that is a symbolic link
  • seat launches under role ceiling
  • role ceiling narrows seat tools (read,write,bash -> read,bash)
  • narrowing recorded loudly
  • missing role contract refuses launch (exit 2)
  • missing-contract refusal names the role
  • empty ceiling intersection -> tool-free seat
  • tool-free outcome recorded loudly
  • overridden agents dir without seat definition refuses (exit 4)
  • seat-resolution refusal names the seat
  • policy: mission only -> mission tools
  • policy: task only -> task tools
  • policy: both -> intersection (task narrowed)
  • policy: empty intersection -> tool-free
  • invalid mission capabilities rejected
  • task run with user layer present
  • user context dispatched into generated prompt

Skipped workspace and capability mock launches

Source lines 395-423:

  • workspace+tools task runs via mock
  • workspace path + tools delivered to adapter
  • persistent workspace created on host
  • plain task still runs (no workspace/tools)
  • workspace var present but empty when absent
  • tools empty when absent
  • unknown tool exits 2
  • workspace traversal exits 2

Skipped live provider task and session fork

Source lines 442-492:

  • live hello task succeeds with exact marker
  • result.json written in run dir
  • result.json contents are correct
  • wrong expectExact fails with exit 1 (reason: expect-mismatch)
  • each run gets a distinct run dir (no clobber)
  • list shows both runs
  • fork base: teach succeeds
  • fork child recalls ancestor context
  • forked child recalled ancestor code word
  • ancestor session untouched by fork
  • child session dir has its own branch file

Skipped live user recall pair

Source lines 517-527:

  • user recall run succeeds
  • recalled user name (response: $RESP)