@rpamis/comet 0.4.0-beta.7 → 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/LICENSE +21 -21
- package/README.md +3 -3
- 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 +118 -6
- package/assets/skills/comet/scripts/comet-hook-router.mjs +244 -26
- package/assets/skills/comet/scripts/comet-runtime.mjs +221 -104
- 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 +1136 -471
- 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/bundle/bundle-platform.d.ts.map +1 -1
- package/dist/domains/bundle/bundle-platform.js +1 -1
- package/dist/domains/bundle/bundle-platform.js.map +1 -1
- package/dist/domains/comet-classic/classic-guard.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-guard.js +3 -2
- package/dist/domains/comet-classic/classic-guard.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-archive-transaction.d.ts.map +1 -1
- package/dist/domains/comet-native/native-archive-transaction.js +5 -6
- package/dist/domains/comet-native/native-archive-transaction.js.map +1 -1
- package/dist/domains/comet-native/native-atomic-file.d.ts.map +1 -1
- package/dist/domains/comet-native/native-atomic-file.js +11 -7
- package/dist/domains/comet-native/native-atomic-file.js.map +1 -1
- package/dist/domains/comet-native/native-bounded-file.d.ts.map +1 -1
- package/dist/domains/comet-native/native-bounded-file.js +11 -7
- package/dist/domains/comet-native/native-bounded-file.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-storage.d.ts.map +1 -1
- package/dist/domains/comet-native/native-check-receipt-storage.js +11 -7
- package/dist/domains/comet-native/native-check-receipt-storage.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 +16 -11
- 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-evidence-retention.d.ts.map +1 -1
- package/dist/domains/comet-native/native-evidence-retention.js +5 -3
- package/dist/domains/comet-native/native-evidence-retention.js.map +1 -1
- package/dist/domains/comet-native/native-evidence-storage.d.ts.map +1 -1
- package/dist/domains/comet-native/native-evidence-storage.js +11 -7
- package/dist/domains/comet-native/native-evidence-storage.js.map +1 -1
- package/dist/domains/comet-native/native-file-identity.d.ts +3 -0
- package/dist/domains/comet-native/native-file-identity.d.ts.map +1 -0
- package/dist/domains/comet-native/native-file-identity.js +2 -0
- package/dist/domains/comet-native/native-file-identity.js.map +1 -0
- 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 +30 -35
- package/dist/domains/comet-native/native-lock.js.map +1 -1
- package/dist/domains/comet-native/native-protected-file.d.ts.map +1 -1
- package/dist/domains/comet-native/native-protected-file.js +9 -8
- package/dist/domains/comet-native/native-protected-file.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-run-store.d.ts.map +1 -1
- package/dist/domains/comet-native/native-run-store.js +9 -8
- package/dist/domains/comet-native/native-run-store.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 +225 -5
- 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/dashboard/web/index.html +14 -14
- 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/pyproject.toml +4 -4
- 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 +8 -1
package/eval/pyproject.toml
CHANGED
|
@@ -29,10 +29,10 @@ dev = [
|
|
|
29
29
|
"matplotlib>=3.8",
|
|
30
30
|
]
|
|
31
31
|
|
|
32
|
-
[tool.pytest.ini_options]
|
|
33
|
-
testpaths = ["local/tests"]
|
|
34
|
-
pythonpath = ["."]
|
|
35
|
-
markers = [
|
|
32
|
+
[tool.pytest.ini_options]
|
|
33
|
+
testpaths = ["local/tests"]
|
|
34
|
+
pythonpath = ["."]
|
|
35
|
+
markers = [
|
|
36
36
|
"langsmith: marks test as using LangSmith tracing",
|
|
37
37
|
]
|
|
38
38
|
|
|
@@ -269,6 +269,7 @@ def build_execution_identity(
|
|
|
269
269
|
"simulator_prompt": getattr(interaction, "simulator_prompt", None),
|
|
270
270
|
"decision_patterns": list(getattr(interaction, "decision_patterns", ()) or ()),
|
|
271
271
|
"decision_reply": getattr(interaction, "decision_reply", None),
|
|
272
|
+
"decision_replies": list(getattr(interaction, "decision_replies", []) or []),
|
|
272
273
|
"continue_prompt": getattr(interaction, "continue_prompt", None),
|
|
273
274
|
"fresh_resume_marker": getattr(interaction, "fresh_resume_marker", None),
|
|
274
275
|
}
|
|
@@ -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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rpamis/comet",
|
|
3
|
-
"version": "0.4.0-beta.
|
|
3
|
+
"version": "0.4.0-beta.9",
|
|
4
4
|
"description": "Agent Skill Harness For Turning Ideas Into Evaluated Workflows",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"comet",
|
|
@@ -91,8 +91,15 @@
|
|
|
91
91
|
},
|
|
92
92
|
"packageManager": "pnpm@10.18.3",
|
|
93
93
|
"overrides": {
|
|
94
|
+
"brace-expansion": "5.0.7",
|
|
94
95
|
"esbuild": "0.28.1"
|
|
95
96
|
},
|
|
97
|
+
"pnpm": {
|
|
98
|
+
"overrides": {
|
|
99
|
+
"brace-expansion": "5.0.7",
|
|
100
|
+
"esbuild": "0.28.1"
|
|
101
|
+
}
|
|
102
|
+
},
|
|
96
103
|
"engines": {
|
|
97
104
|
"node": ">=22"
|
|
98
105
|
},
|