@rpamis/comet 0.4.0-beta.8 → 0.4.0-beta.9
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.
- package/README.md +1 -1
- package/assets/manifest.json +1 -1
- package/assets/skills/comet/reference/comet-yaml-fields.md +2 -2
- package/assets/skills/comet/scripts/comet-entry-runtime.mjs +95 -4
- package/assets/skills/comet/scripts/comet-hook-router.mjs +224 -35
- package/assets/skills/comet/scripts/comet-runtime.mjs +218 -102
- package/assets/skills/comet-archive/SKILL.md +29 -20
- package/assets/skills/comet-native/SKILL.md +23 -15
- package/assets/skills/comet-native/reference/artifacts.md +19 -4
- package/assets/skills/comet-native/reference/commands.md +8 -2
- package/assets/skills/comet-native/reference/recovery.md +1 -1
- package/assets/skills/comet-native/scripts/comet-native-runtime.mjs +1052 -458
- package/assets/skills-zh/comet/reference/comet-yaml-fields.md +2 -2
- package/assets/skills-zh/comet-archive/SKILL.md +29 -20
- package/assets/skills-zh/comet-native/SKILL.md +23 -15
- package/assets/skills-zh/comet-native/reference/artifacts.md +20 -5
- package/assets/skills-zh/comet-native/reference/commands.md +8 -2
- package/assets/skills-zh/comet-native/reference/recovery.md +1 -1
- package/dist/app/commands/init.d.ts.map +1 -1
- package/dist/app/commands/init.js +3 -6
- package/dist/app/commands/init.js.map +1 -1
- package/dist/domains/comet-entry/current-selection.d.ts.map +1 -1
- package/dist/domains/comet-entry/current-selection.js +6 -8
- package/dist/domains/comet-entry/current-selection.js.map +1 -1
- package/dist/domains/comet-entry/project-status.d.ts.map +1 -1
- package/dist/domains/comet-entry/project-status.js +5 -1
- package/dist/domains/comet-entry/project-status.js.map +1 -1
- package/dist/domains/comet-native/native-build-evidence.js +2 -2
- package/dist/domains/comet-native/native-build-evidence.js.map +1 -1
- package/dist/domains/comet-native/native-change.d.ts +4 -2
- package/dist/domains/comet-native/native-change.d.ts.map +1 -1
- package/dist/domains/comet-native/native-change.js +18 -4
- package/dist/domains/comet-native/native-change.js.map +1 -1
- package/dist/domains/comet-native/native-check-receipt.d.ts.map +1 -1
- package/dist/domains/comet-native/native-check-receipt.js +5 -3
- package/dist/domains/comet-native/native-check-receipt.js.map +1 -1
- package/dist/domains/comet-native/native-cli.d.ts.map +1 -1
- package/dist/domains/comet-native/native-cli.js +120 -16
- package/dist/domains/comet-native/native-cli.js.map +1 -1
- package/dist/domains/comet-native/native-config.d.ts +5 -1
- package/dist/domains/comet-native/native-config.d.ts.map +1 -1
- package/dist/domains/comet-native/native-config.js +78 -0
- package/dist/domains/comet-native/native-config.js.map +1 -1
- package/dist/domains/comet-native/native-continuation.d.ts +2 -1
- package/dist/domains/comet-native/native-continuation.d.ts.map +1 -1
- package/dist/domains/comet-native/native-continuation.js +13 -5
- package/dist/domains/comet-native/native-continuation.js.map +1 -1
- package/dist/domains/comet-native/native-diagnostics.d.ts +7 -3
- package/dist/domains/comet-native/native-diagnostics.d.ts.map +1 -1
- package/dist/domains/comet-native/native-diagnostics.js +19 -9
- package/dist/domains/comet-native/native-diagnostics.js.map +1 -1
- package/dist/domains/comet-native/native-file-identity.d.ts +2 -8
- package/dist/domains/comet-native/native-file-identity.d.ts.map +1 -1
- package/dist/domains/comet-native/native-file-identity.js +1 -20
- package/dist/domains/comet-native/native-file-identity.js.map +1 -1
- package/dist/domains/comet-native/native-findings.d.ts.map +1 -1
- package/dist/domains/comet-native/native-findings.js +19 -1
- package/dist/domains/comet-native/native-findings.js.map +1 -1
- package/dist/domains/comet-native/native-guards.d.ts +2 -1
- package/dist/domains/comet-native/native-guards.d.ts.map +1 -1
- package/dist/domains/comet-native/native-guards.js +14 -0
- package/dist/domains/comet-native/native-guards.js.map +1 -1
- package/dist/domains/comet-native/native-lock.d.ts.map +1 -1
- package/dist/domains/comet-native/native-lock.js +24 -32
- package/dist/domains/comet-native/native-lock.js.map +1 -1
- package/dist/domains/comet-native/native-root-move.d.ts.map +1 -1
- package/dist/domains/comet-native/native-root-move.js +2 -0
- package/dist/domains/comet-native/native-root-move.js.map +1 -1
- package/dist/domains/comet-native/native-snapshot.d.ts +5 -1
- package/dist/domains/comet-native/native-snapshot.d.ts.map +1 -1
- package/dist/domains/comet-native/native-snapshot.js +218 -2
- package/dist/domains/comet-native/native-snapshot.js.map +1 -1
- package/dist/domains/comet-native/native-transitions.d.ts +2 -1
- package/dist/domains/comet-native/native-transitions.d.ts.map +1 -1
- package/dist/domains/comet-native/native-transitions.js +34 -11
- package/dist/domains/comet-native/native-transitions.js.map +1 -1
- package/dist/domains/comet-native/native-types.d.ts +16 -0
- package/dist/domains/comet-native/native-types.d.ts.map +1 -1
- package/dist/domains/comet-native/native-verification-runtime.d.ts.map +1 -1
- package/dist/domains/comet-native/native-verification-runtime.js +5 -3
- package/dist/domains/comet-native/native-verification-runtime.js.map +1 -1
- package/dist/domains/comet-native/native-verification-scope.d.ts +2 -1
- package/dist/domains/comet-native/native-verification-scope.d.ts.map +1 -1
- package/dist/domains/comet-native/native-verification-scope.js +6 -1
- package/dist/domains/comet-native/native-verification-scope.js.map +1 -1
- package/dist/domains/dashboard/native-collector.d.ts.map +1 -1
- package/dist/domains/dashboard/native-collector.js +4 -1
- package/dist/domains/dashboard/native-collector.js.map +1 -1
- package/dist/domains/skill/platform-install.d.ts.map +1 -1
- package/dist/domains/skill/platform-install.js +9 -0
- package/dist/domains/skill/platform-install.js.map +1 -1
- package/dist/domains/skill/project-instructions.d.ts.map +1 -1
- package/dist/domains/skill/project-instructions.js +4 -2
- package/dist/domains/skill/project-instructions.js.map +1 -1
- package/dist/domains/workflow-contract/project-config.d.ts +1 -1
- package/dist/domains/workflow-contract/project-config.d.ts.map +1 -1
- package/dist/domains/workflow-contract/project-config.js +24 -2
- package/dist/domains/workflow-contract/project-config.js.map +1 -1
- package/dist/platform/fs/file-identity.d.ts +9 -0
- package/dist/platform/fs/file-identity.d.ts.map +1 -0
- package/dist/platform/fs/file-identity.js +21 -0
- package/dist/platform/fs/file-identity.js.map +1 -0
- package/dist/platform/fs/file-system.d.ts.map +1 -1
- package/dist/platform/fs/file-system.js +13 -9
- package/dist/platform/fs/file-system.js.map +1 -1
- package/dist/platform/fs/race-safe-read.d.ts +47 -0
- package/dist/platform/fs/race-safe-read.d.ts.map +1 -0
- package/dist/platform/fs/race-safe-read.js +132 -0
- package/dist/platform/fs/race-safe-read.js.map +1 -0
- package/eval/README.md +1 -1
- package/eval/local/tasks/comet-native-clarification-depth/environment/Dockerfile +27 -0
- package/eval/local/tasks/comet-native-clarification-depth/environment/test_wordcount.py +25 -0
- package/eval/local/tasks/comet-native-clarification-depth/environment/wordcount.py +36 -0
- package/eval/local/tasks/comet-native-clarification-depth/instruction.md +17 -0
- package/eval/local/tasks/comet-native-clarification-depth/task.toml +47 -0
- package/eval/local/tasks/comet-native-clarification-depth/validation/test_native_clarification_depth.py +618 -0
- package/eval/local/tasks/comet-native-clarification-modes/validation/test_native_clarification_modes.py +1 -1
- package/eval/local/tasks/index.yaml +6 -0
- package/eval/local/tests/conftest.py +146 -2
- package/eval/local/tests/scaffold/test_conftest_helpers.py +188 -1
- package/eval/local/tests/scaffold/test_tasks.py +440 -8
- package/eval/local/tests/scaffold/test_utils.py +114 -1
- package/eval/local/tests/tasks/test_tasks.py +2 -0
- package/eval/scaffold/python/aligned_comparison.py +1 -0
- package/eval/scaffold/python/tasks.py +2 -0
- package/eval/scaffold/shell/docker.sh +1 -1
- package/eval/scaffold/shell/run-claude-loop.sh +25 -2
- package/package.json +1 -1
|
@@ -100,6 +100,7 @@ class InteractionConfig:
|
|
|
100
100
|
simulator_prompt: str | None = None
|
|
101
101
|
decision_patterns: list[str] = field(default_factory=list)
|
|
102
102
|
decision_reply: str | None = None
|
|
103
|
+
decision_replies: list[str] = field(default_factory=list)
|
|
103
104
|
continue_prompt: str = "Please continue with the next phase of the workflow."
|
|
104
105
|
fresh_resume_marker: str | None = None
|
|
105
106
|
|
|
@@ -287,6 +288,7 @@ def load_task(name: str, tasks_dir: Path | None = None) -> Task:
|
|
|
287
288
|
simulator_prompt=interaction.get("simulator_prompt"),
|
|
288
289
|
decision_patterns=interaction.get("decision_patterns", []),
|
|
289
290
|
decision_reply=interaction.get("decision_reply"),
|
|
291
|
+
decision_replies=interaction.get("decision_replies", []),
|
|
290
292
|
continue_prompt=interaction.get(
|
|
291
293
|
"continue_prompt",
|
|
292
294
|
"Please continue with the next phase of the workflow.",
|
|
@@ -456,7 +456,7 @@ docker_run_claude_loop() {
|
|
|
456
456
|
expected_image_id="$2"
|
|
457
457
|
shift 2
|
|
458
458
|
;;
|
|
459
|
-
--max-turns|--model|--simulator-prompt-file|--decision-reply|--continue-prompt|--decision-pattern|--fresh-resume-marker)
|
|
459
|
+
--max-turns|--model|--simulator-prompt-file|--decision-reply|--decision-reply-step|--continue-prompt|--decision-pattern|--fresh-resume-marker)
|
|
460
460
|
loop_args+=("$1" "$2")
|
|
461
461
|
shift 2
|
|
462
462
|
;;
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
# --model MODEL Model for both subject and simulator
|
|
12
12
|
# --simulator-prompt-file File containing the simulator system prompt
|
|
13
13
|
# --decision-reply TEXT Deterministic reply for each detected decision point
|
|
14
|
+
# --decision-reply-step TEXT Queue one deterministic reply for the next decision point
|
|
14
15
|
# --continue-prompt TEXT Nudge used when the workflow should continue
|
|
15
16
|
# --decision-pattern TEXT Extra case-insensitive substring to treat as a decision point
|
|
16
17
|
# --fresh-resume-marker TEXT Start the following turn in a new subject session
|
|
@@ -37,6 +38,7 @@ MAX_TURNS=12
|
|
|
37
38
|
MODEL="${ANTHROPIC_MODEL:-}"
|
|
38
39
|
SIMULATOR_PROMPT=""
|
|
39
40
|
DECISION_REPLY=""
|
|
41
|
+
DECISION_REPLY_STEPS=()
|
|
40
42
|
CONTINUE_PROMPT="Please continue with the next phase of the comet workflow."
|
|
41
43
|
FRESH_RESUME_MARKER=""
|
|
42
44
|
DECISION_PATTERNS=()
|
|
@@ -50,10 +52,22 @@ while [[ $# -gt 0 ]]; do
|
|
|
50
52
|
shift 2
|
|
51
53
|
;;
|
|
52
54
|
--simulator-prompt-file)
|
|
53
|
-
|
|
55
|
+
SIMULATOR_PROMPT_FILE="$2"
|
|
56
|
+
if ! SIMULATOR_PROMPT="$(cat -- "$SIMULATOR_PROMPT_FILE")"; then
|
|
57
|
+
echo "[loop] unable to read private simulator prompt" >&2
|
|
58
|
+
exit 2
|
|
59
|
+
fi
|
|
60
|
+
if ! rm -f -- "$SIMULATOR_PROMPT_FILE"; then
|
|
61
|
+
echo "[loop] unable to remove private simulator prompt" >&2
|
|
62
|
+
exit 2
|
|
63
|
+
fi
|
|
54
64
|
shift 2
|
|
55
65
|
;;
|
|
56
66
|
--decision-reply) DECISION_REPLY="$2"; shift 2 ;;
|
|
67
|
+
--decision-reply-step)
|
|
68
|
+
DECISION_REPLY_STEPS+=("$2")
|
|
69
|
+
shift 2
|
|
70
|
+
;;
|
|
57
71
|
--continue-prompt) CONTINUE_PROMPT="$2"; shift 2 ;;
|
|
58
72
|
--fresh-resume-marker) FRESH_RESUME_MARKER="$2"; shift 2 ;;
|
|
59
73
|
--decision-pattern)
|
|
@@ -107,6 +121,7 @@ SESSION_ID=""
|
|
|
107
121
|
FRESH_PROMPT=""
|
|
108
122
|
COMBINED_OUT=""
|
|
109
123
|
TURN=0
|
|
124
|
+
DECISION_REPLY_STEP_INDEX=0
|
|
110
125
|
|
|
111
126
|
while [[ $TURN -lt $MAX_TURNS ]]; do
|
|
112
127
|
TURN=$((TURN + 1))
|
|
@@ -187,7 +202,15 @@ except: print('')
|
|
|
187
202
|
|
|
188
203
|
if bash "$SCRIPT_DIR/decision-point.sh" "$RESULT_TEXT" "${DECISION_PATTERNS[@]}"; then
|
|
189
204
|
echo "[loop] decision point detected; simulating user reply" >&2
|
|
190
|
-
if [[ -
|
|
205
|
+
if [[ ${#DECISION_REPLY_STEPS[@]} -gt 0 ]]; then
|
|
206
|
+
if [[ $DECISION_REPLY_STEP_INDEX -ge ${#DECISION_REPLY_STEPS[@]} ]]; then
|
|
207
|
+
echo "[loop] deterministic decision reply queue exhausted" >&2
|
|
208
|
+
exit 3
|
|
209
|
+
fi
|
|
210
|
+
USER_REPLY="${DECISION_REPLY_STEPS[$DECISION_REPLY_STEP_INDEX]}"
|
|
211
|
+
DECISION_REPLY_STEP_INDEX=$((DECISION_REPLY_STEP_INDEX + 1))
|
|
212
|
+
echo "[loop] deterministic decision reply applied" >&2
|
|
213
|
+
elif [[ -n "$DECISION_REPLY" ]]; then
|
|
191
214
|
USER_REPLY="$DECISION_REPLY"
|
|
192
215
|
echo "[loop] deterministic decision reply applied" >&2
|
|
193
216
|
else
|