@linimin/pi-letscook 0.1.54 → 0.1.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -60,14 +60,11 @@ INLINE_REJECTION_PROPOSAL_SNAPSHOT="$TMPDIR/inline-arg-proposal.json"
60
60
  INLINE_REJECTION_CHOOSER_SNAPSHOT="$TMPDIR/inline-arg-chooser.json"
61
61
  BOOTSTRAP_SESSION="$TMPDIR/session-smoke-bootstrap.jsonl"
62
62
  BOOTSTRAP_DISCUSSION=$'Mission: Exercise smoke-test bootstrap.\nScope:\n- Materialize the canonical completion control-plane files.\n- Keep the smoke test on supported /cook startup behavior.\nConstraints:\n- Keep startup proposal confirmation approval-only.\nAcceptance:\n- Scaffold canonical files and kickoff prompts for the smoke fixture.'
63
- INLINE_HINT_ANALYST_OUTPUT='{"mission":"Smoke-test inline hint startup mission.","scope":["Materialize the canonical completion control-plane files."],"constraints":["Keep startup proposal confirmation approval-only."],"acceptance":["Scaffold canonical files and kickoff prompts for the smoke fixture."],"task_type":"completion-workflow","evaluation_profile":"completion-rubric-v1","confidence":0.91}'
64
63
 
65
64
  mkdir -p "$ROOT"
66
65
  cd "$ROOT"
67
66
  git init -q
68
67
 
69
- PI_COMPLETION_CONTEXT_PROPOSAL_ACTION=cancel \
70
- PI_COMPLETION_CONTEXT_PROPOSAL_ANALYST_OUTPUT="$INLINE_HINT_ANALYST_OUTPUT" \
71
68
  PI_COMPLETION_SKIP_DRIVER_KICKOFF=1 \
72
69
  PI_COMPLETION_TEST_ACTIVE_WORKFLOW_ROUTING_PATH="$INLINE_REJECTION_ROUTING_SNAPSHOT" \
73
70
  PI_COMPLETION_TEST_CONTEXT_PROPOSAL_PATH="$INLINE_REJECTION_PROPOSAL_SNAPSHOT" \
@@ -76,20 +73,19 @@ pi -e "$PKG_ROOT" -p "/cook smoke-test mission" \
76
73
  >"$TMPDIR/pi-completion-smoke-inline-arg.out" 2>"$TMPDIR/pi-completion-smoke-inline-arg.err"
77
74
 
78
75
  python3 - "$TMPDIR/pi-completion-smoke-inline-arg.out" "$TMPDIR/pi-completion-smoke-inline-arg.err" "$INLINE_REJECTION_ROUTING_SNAPSHOT" "$INLINE_REJECTION_PROPOSAL_SNAPSHOT" "$INLINE_REJECTION_CHOOSER_SNAPSHOT" <<'PY'
79
- import json
80
76
  import sys
81
77
  from pathlib import Path
82
78
 
83
79
  output = Path(sys.argv[1]).read_text() + Path(sys.argv[2]).read_text()
84
80
  routing = Path(sys.argv[3])
85
- proposal = json.loads(Path(sys.argv[4]).read_text())
81
+ proposal = Path(sys.argv[4])
86
82
  chooser = Path(sys.argv[5])
87
83
 
88
- assert not Path('.agent').exists(), 'startup /cook <hint> cancel should leave canonical state untouched'
89
- assert not routing.exists(), 'startup /cook <hint> should not open active-workflow routing before a workflow exists'
90
- assert proposal['mission'] == 'Smoke-test inline hint startup mission.', 'startup /cook <hint> should bias proposal derivation toward the hinted mission'
91
- assert not chooser.exists(), 'startup /cook <hint> should not open the existing-workflow chooser before a workflow exists'
92
- assert 'Cancelled recent-discussion workflow proposal.' in output, 'startup /cook <hint> cancel should report proposal cancellation'
84
+ assert not Path('.agent').exists(), 'startup /cook inline-args rejection should leave canonical state untouched'
85
+ assert not routing.exists(), 'startup /cook inline-args rejection should not open active-workflow routing before a workflow exists'
86
+ assert not proposal.exists(), 'startup /cook inline-args rejection should not emit a startup-brief proposal snapshot'
87
+ assert not chooser.exists(), 'startup /cook inline-args rejection should not open the existing-workflow chooser before a workflow exists'
88
+ assert '/cook no longer accepts inline arguments.' in output, 'startup /cook inline-args rejection should explain the bare-only entry contract'
93
89
  PY
94
90
 
95
91
  write_session "$BOOTSTRAP_SESSION" "$ROOT" "$BOOTSTRAP_DISCUSSION"
@@ -105,6 +101,7 @@ for file in .agent/profile.json .agent/state.json .agent/plan.json .agent/active
105
101
  [[ -f "$file" ]] || { echo "missing canonical bootstrap file: $file" >&2; exit 1; }
106
102
  done
107
103
 
104
+ git ls-files --error-unmatch .agent/README.md .agent/mission.md .agent/profile.json .agent/verify_completion_stop.sh .agent/verify_completion_control_plane.sh >/dev/null
108
105
  bash .agent/verify_completion_control_plane.sh >/dev/null
109
106
  bash .agent/verify_completion_stop.sh >/dev/null
110
107
 
@@ -133,6 +130,13 @@ assert active['task_type'] == expected_task_type, 'active-slice.json task_type m
133
130
  assert active['evaluation_profile'] == expected_eval_profile, 'active-slice.json evaluation_profile mismatch after bootstrap'
134
131
  assert active['implementation_surfaces'] == [], 'active-slice.json should scaffold empty implementation_surfaces'
135
132
  assert active['verification_commands'] == [], 'active-slice.json should scaffold empty verification_commands'
133
+ brief = state['advisory_startup_brief']
134
+ assert brief['kind'] == 'startup_brief', 'state.json should preserve the confirmed startup brief as advisory intake'
135
+ assert brief['mission'] == state['mission_anchor'], 'advisory startup brief mission should match the canonical mission anchor after bootstrap'
136
+ assert brief['scope'] == ['Materialize the canonical completion control-plane files.', 'Keep the smoke test on supported /cook startup behavior.'], 'advisory startup brief should preserve scope items'
137
+ assert brief['constraints'] == ['Keep startup proposal confirmation approval-only.'], 'advisory startup brief should preserve constraints'
138
+ assert brief['acceptance'] == ['Scaffold canonical files and kickoff prompts for the smoke fixture.'], 'advisory startup brief should preserve acceptance'
139
+ assert brief['notes'] == ['No additional operator notes were derived from recent discussion.'], 'advisory startup brief should still preserve operator-note structure when no explicit notes exist'
136
140
  assert evidence['artifact_type'] == 'completion-verification-evidence', 'verification-evidence.json artifact_type mismatch after bootstrap'
137
141
  assert evidence['subject_type'] == 'none', 'verification-evidence.json should scaffold idle subject_type'
138
142
  assert evidence['verification_commands'] == [], 'verification-evidence.json should scaffold empty verification_commands'