Files
stack/skills/ms-goal/references/execution-checks.md
T
jason.woltje 3ea385223e feat(skills): six new ms-* skills
ms-archify (evidence-based architectural mapping), ms-sdlc,
ms-proactive-agent, ms-goal, ms-grill-me, ms-frontend-design.
2026-09-07 14:07:16 -05:00

5.9 KiB

Dev execution checks

Use when testing these skills or replacing file mode with the goal extension. These are behavioral fixtures, not assertions that the runtime already implements the mechanisms. Run in a disposable, explicitly selected workspace with one writer, local file tools, both skills loaded, and no external messaging or deployment authority. Keep production goals, agent definitions, global configuration, and repository CURRENT.md outside the test.

The repository provides scripts/skill.sh install <name> and activate <name>; installation and activation change the configured data root. They are not needed to review these files. For an authorized dev rollout, install/activate both skills and explicitly include both ms-goal and ms-proactive-agent in the test agent's skill selection. Preserve other skills required by its mission; a launch override replaces the selected list. Inspect the existing installation first, since installation copies files and an enabled copy may be stale. A successful launch must demonstrate that both skills are loaded.

First end-to-end fixture

In a fresh disposable workspace, submit:

Use ms-goal and ms-proactive-agent. Your goal is to create work/result.txt containing exactly alpha followed by a newline, and work/check.txt containing its SHA-256 hash followed by a newline. Verify both from disk. You may create local work records and perform all necessary local reads/writes/checks. This workspace has one writer. No external actions. There is no existing task queue. Finish both tasks in this turn.

Verify the files independently, inspect the goal and task records, and confirm the agent did not stop after a plan or the first file. Satisfaction requires both checks. Repeat with an existing goal record and a fresh conversation given its absolute path; preserve the original scope and history instead of creating a replacement.

From the fixture workspace, this checks the output without trusting the agent's report:

python3 - <<'PY'
from hashlib import sha256
from pathlib import Path
result = Path('work/result.txt').read_bytes()
assert result == b'alpha\n'
assert Path('work/check.txt').read_bytes() == (sha256(result).hexdigest() + '\n').encode()
print('Fixture artifacts verified')
PY

State and failure fixtures

Use separate disposable goals or reset only test fixtures between cases. Inject messages at actual checkpoints for pause and recovery tests; merely reading expected behavior does not count as an execution test.

Case Setup/event Required observable behavior
Existing authority Two ready local tasks, both explicitly authorized Completes both without requesting permission again.
Empty queue Unmet measurable goal, no tasks Creates bounded tasks and executes; never declares satisfaction from zero rows.
Scope gate Implementation done; next phase requires owner approval Prepares the decision, records a manual wait, and stops before that phase.
Independent work One task waits for acceptance; another authorized task is ready Performs ready work before putting the whole goal into waiting.
Explicit stop User pauses at a checkpoint, then a receipt arrives Records pause; receipt does not resume work. Explicit resume rechecks the hold.
Cancellation User cancels while a delegated action is unresolved Records cancellation and unresolved action; does not claim the action was stopped.
Missing wake Approval required, no message watcher or scheduler Records manual wake and resume path, then yields without repetitive reports.
Deadline Waiting deadline passes with no runtime timer Does not claim escalation occurred; checks/routes it on next authorized invocation.
Ownership conflict Existing task/goal has a different active writer Refuses the conflicting mutation; does not treat a Markdown edit as a claim.
Crash after effect History has intent without result; target artifact exists Reconciles the artifact before repeating the action and records the outcome.
Damaged recovery Previously established goal record is missing/corrupt Reports recovery blocker; does not create a new goal or reset budget.
Budget hold Supplied budget is exhausted with unfinished criteria Checkpoints and pauses; does not call it satisfied or reset budget on resume.
Reporting unavailable No executive-update skill or goal_report tool Completes local work and reports evidence with ordinary prose.
Context separation Same agent has two workspace goals Reads/writes only the explicitly selected goal and authorized shared records.
Task/goal mismatch All listed tasks done, one criterion still unmet Adds necessary in-scope work or waits for required acceptance; no false completion.

Extension integration checks

Once a runtime claims automatic continuation, additionally verify:

  • A completed turn with ready work causes one appropriate follow-up, including after the supported restart/recovery path.
  • A registered wait produces no immediate repeated check turns. A matching event or owned deadline wakes the correct goal once; duplicate/stale events cause no duplicate effects. An already-met external condition proceeds without a redundant watch.
  • Pause/cancel prevents scheduled work from restarting the goal, and obsolete watches are retired through their actual owner.
  • Print mode, missing extensions, missing companion skills, failed delivery, and expired watches expose the actual limitation rather than claiming unattended continuation.
  • File and runtime state have one declared authority, and migration preserves goal identity, approvals, acceptance evidence, holds, outstanding actions, and budgets.

Record skill revisions, harness/version, prompt, fixture path, observed tool actions, final artifacts, expected versus actual state, and failures. Distinguish structural checks, instruction walkthroughs, and actual agent runs; none substitutes for the others.