sneakoscope 6.4.0 → 6.7.0
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 +26 -34
- package/config/codex-releases/{rust-v0.144.1.json → rust-v0.144.5.json} +5 -5
- package/crates/sks-core/Cargo.lock +1 -1
- package/crates/sks-core/Cargo.toml +1 -1
- package/dist/bin/install.js +1 -1
- package/dist/cli/command-manifest-lite.js +2 -3
- package/dist/cli/command-registry.js +6 -4
- package/dist/cli/help-fast.js +0 -1
- package/dist/cli/router.js +24 -3
- package/dist/commands/zellij.js +18 -29
- package/dist/config/skills-manifest.json +62 -62
- package/dist/core/agent-bridge/agent-manifest.js +22 -1
- package/dist/core/agents/agent-codex-cockpit.js +1 -81
- package/dist/core/agents/agent-effort-policy.js +13 -7
- package/dist/core/agents/agent-orchestrator.js +0 -6
- package/dist/core/agents/agent-output-validator.js +2 -1
- package/dist/core/agents/agent-patch-queue-store.js +0 -8
- package/dist/core/agents/agent-proof-evidence.js +0 -6
- package/dist/core/agents/agent-worker-pipeline.js +12 -6
- package/dist/core/agents/native-cli-worker-runtime.js +1 -16
- package/dist/core/agents/native-worker-backend-router.js +1 -1
- package/dist/core/bench.js +1 -1
- package/dist/core/codex/official-goal-mode.js +4 -2
- package/dist/core/codex-app/codex-app-fast-ui-repair.js +11 -17
- package/dist/core/codex-app/codex-app-ui-state-snapshot.js +34 -6
- package/dist/core/codex-app/menubar/constants.js +0 -1
- package/dist/core/codex-app.js +1 -1
- package/dist/core/codex-compat/codex-release-manifest.js +5 -5
- package/dist/core/codex-control/codex-0139-image-path-real-probe.js +1 -1
- package/dist/core/codex-control/codex-0139-web-search-probe.js +1 -1
- package/dist/core/codex-control/codex-control-proof.js +1 -0
- package/dist/core/codex-control/codex-fake-sdk-adapter.js +1 -1
- package/dist/core/codex-control/codex-lb-launch-recovery.js +7 -3
- package/dist/core/codex-control/codex-sdk-adapter.js +8 -7
- package/dist/core/codex-control/codex-sdk-config-policy.js +4 -24
- package/dist/core/codex-control/codex-sdk-env-policy.js +396 -11
- package/dist/core/codex-control/codex-task-runner.js +112 -57
- package/dist/core/codex-control/gpt-final-arbiter.js +1 -2
- package/dist/core/codex-control/python-codex-sdk-adapter.js +38 -15
- package/dist/core/codex-lb/codex-lb-tool-catalog.js +3 -3
- package/dist/core/codex-native/core-skill-manifest.js +4 -7
- package/dist/core/codex-runtime/resolve-codex-runtime.js +199 -0
- package/dist/core/commands/agent-bridge-command.js +46 -15
- package/dist/core/commands/basic-cli.js +1 -1
- package/dist/core/commands/command-utils.js +2 -2
- package/dist/core/commands/eval-command.js +19 -2
- package/dist/core/commands/goal-command.js +37 -86
- package/dist/core/commands/mad-sks-command.js +0 -2
- package/dist/core/commands/naruto-command.js +236 -176
- package/dist/core/doctor/current-project-guidance.js +1 -1
- package/dist/core/doctor/doctor-dirty-planner.js +1 -1
- package/dist/core/doctor/retired-managed-residue-missions.js +26 -11
- package/dist/core/doctor/retired-managed-residue-private.js +1 -1
- package/dist/core/doctor/retired-managed-residue-runtime.js +12 -2
- package/dist/core/doctor/retired-managed-residue-state.js +7 -7
- package/dist/core/evaluation.js +83 -21
- package/dist/core/feature-fixtures.js +4 -7
- package/dist/core/feature-registry.js +0 -1
- package/dist/core/fsx.js +169 -14
- package/dist/core/goal-workflow.js +71 -140
- package/dist/core/hooks-runtime/hook-io.js +2 -2
- package/dist/core/hooks-runtime.js +228 -50
- package/dist/core/init/skills.js +7 -6
- package/dist/core/init.js +52 -33
- package/dist/core/install/installed-package-smoke.js +1 -1
- package/dist/core/lean-engineering-policy.js +25 -23
- package/dist/core/locks/file-lock.js +74 -21
- package/dist/core/managed-assets/managed-assets-manifest.js +1 -1
- package/dist/core/mcp-config/health-check.js +7 -2
- package/dist/core/mission.js +99 -3
- package/dist/core/ops/upgrade-migration-fixtures.js +30 -2
- package/dist/core/pipeline-internals/runtime-core.js +67 -95
- package/dist/core/pipeline-internals/runtime-gates.js +25 -6
- package/dist/core/proof/fake-real-proof-policy.js +32 -9
- package/dist/core/proof/route-proof-gate.js +49 -1
- package/dist/core/provider/model-router.js +2 -0
- package/dist/core/questions.js +31 -5
- package/dist/core/recallpulse.js +2 -2
- package/dist/core/release/canonical-test-proof.js +135 -0
- package/dist/core/release/release-closure-contract.js +1 -0
- package/dist/core/release/release-closure-validation.js +25 -12
- package/dist/core/release/release-closure.js +34 -5
- package/dist/core/release/release-gate-contract.js +4 -3
- package/dist/core/release/release-gate-dag.js +4 -2
- package/dist/core/release/release-pack-content-scanner.js +7 -6
- package/dist/core/release/release-pack-receipt.js +33 -12
- package/dist/core/release/release-real-contract.js +41 -2
- package/dist/core/retention.js +95 -16
- package/dist/core/routes/constants.js +1 -1
- package/dist/core/routes/dollar-manifest-lite.js +1 -1
- package/dist/core/routes.js +18 -20
- package/dist/core/safety/command-contract/contracts.js +33 -0
- package/dist/core/safety/command-contract/types.js +1 -1
- package/dist/core/safety/ssot-guard.js +1 -54
- package/dist/core/stop-gate/stop-gate-check.js +0 -14
- package/dist/core/stop-gate/stop-gate-writer.js +0 -4
- package/dist/core/strategy/adhd-orchestrating-gate.js +2 -2
- package/dist/core/subagents/agent-catalog.js +28 -5
- package/dist/core/subagents/model-policy.js +52 -11
- package/dist/core/subagents/naruto-help-contract.js +2 -1
- package/dist/core/subagents/naruto-proof-projection.js +449 -0
- package/dist/core/subagents/official-subagent-preparation.js +641 -51
- package/dist/core/subagents/official-subagent-prompt.js +16 -6
- package/dist/core/subagents/official-subagent-runner.js +132 -12
- package/dist/core/subagents/subagent-evidence.js +44 -8
- package/dist/core/subagents/wave-lifecycle.js +238 -0
- package/dist/core/update-check.js +13 -4
- package/dist/core/verification/machine-feedback.js +39 -19
- package/dist/core/version.js +1 -1
- package/dist/core/zellij/zellij-lane-renderer.js +19 -19
- package/dist/core/zellij/zellij-official-subagent-activity.js +2 -0
- package/dist/core/zellij/zellij-right-column-manager.js +6 -55
- package/dist/core/zellij/zellij-slot-column-anchor.js +4 -5
- package/dist/core/zellij/zellij-slot-pane-renderer.js +1 -1
- package/dist/core/zellij/zellij-ui-mode.js +0 -7
- package/dist/core/zellij/zellij-worker-pane-manager.js +3 -11
- package/dist/native/sks-menubar/Sources/AppDelegate.swift +0 -1
- package/dist/native/sks-menubar/Sources/NotificationCoordinator.swift +1 -3
- package/dist/native/sks-menubar/Sources/OverviewViewController.swift +194 -24
- package/dist/native/sks-menubar/Sources/ProcessClient.swift +49 -4
- package/dist/native/sks-menubar/Sources/ProvidersViewController.swift +38 -10
- package/dist/native/sks-menubar/Sources/StatusItemController.swift +73 -11
- package/dist/native/sks-menubar/Sources/UpdatesViewController.swift +27 -2
- package/dist/scripts/architecture-guard-check.js +1 -9
- package/dist/scripts/canonical-test-runner.js +51 -8
- package/dist/scripts/check-architecture.js +11 -1
- package/dist/scripts/cli-output-consistency-check.js +0 -2
- package/dist/scripts/codex-0144-app-server-v2-check.js +4 -4
- package/dist/scripts/codex-0144-binary-identity-check.js +10 -4
- package/dist/scripts/codex-0144-capability-check.js +5 -5
- package/dist/scripts/codex-0144-policy-check.js +4 -0
- package/dist/scripts/codex-control-all-pipelines-check.js +2 -1
- package/dist/scripts/codex-lb-gpt56-fast-profile-check.js +3 -3
- package/dist/scripts/codex-sdk-all-pipelines-check.js +2 -1
- package/dist/scripts/codex-sdk-real-smoke-check.js +20 -2
- package/dist/scripts/current-command-surface-check.js +5 -3
- package/dist/scripts/current-surface-update-e2e-check.js +2 -2
- package/dist/scripts/docs-truthfulness-check.js +8 -6
- package/dist/scripts/doctor-fixes-codex-app-fast-ui-check.js +3 -2
- package/dist/scripts/gate-policy-audit-check.js +7 -1
- package/dist/scripts/harness-benchmark-check.js +4 -4
- package/dist/scripts/hook-latency-quantum-check.js +2 -2
- package/dist/scripts/legacy-gate-purge-check.js +4 -2
- package/dist/scripts/loop-directive-check-lib.js +14 -13
- package/dist/scripts/naruto-codex-e2e-check.js +2 -2
- package/dist/scripts/naruto-ssot-gate-aliases-check.js +9 -0
- package/dist/scripts/naruto-ssot-pipeline-default-check.js +10 -0
- package/dist/scripts/naruto-ssot-route-normalization-check.js +8 -0
- package/dist/scripts/naruto-ssot-routing-check.js +12 -0
- package/dist/scripts/product-design-plugin-routing-check.js +4 -9
- package/dist/scripts/release-affected-selector-check.js +7 -1
- package/dist/scripts/release-check-stamp.js +151 -18
- package/dist/scripts/release-dynamic-presets-check.js +5 -2
- package/dist/scripts/release-metadata-1-19-check.js +4 -0
- package/dist/scripts/release-real-check.js +21 -3
- package/dist/scripts/sks-menubar-install-check.js +5 -5
- package/dist/scripts/upgrade-migration-matrix-check.js +278 -5
- package/dist/scripts/zellij-developer-controls-check.js +3 -5
- package/dist/scripts/zellij-initial-main-only-blackbox.js +3 -8
- package/dist/scripts/zellij-pane-lock-open-worker-integration-blackbox.js +1 -2
- package/dist/scripts/zellij-right-column-headless-overflow-check.js +1 -1
- package/dist/scripts/zellij-right-column-manager-check.js +3 -4
- package/dist/scripts/zellij-slot-only-ui-check.js +2 -2
- package/dist/scripts/zellij-stacked-fallback-integration-blackbox.js +1 -2
- package/docs/demo.tape +1 -1
- package/infra-harness-gates.json +0 -27
- package/package.json +11 -6
- package/release-gates.v2.json +150 -22
- package/schemas/codex/agent-result.schema.json +4 -0
- package/schemas/codex/app-server-0.144/codex_app_server_protocol.v2.schemas.json +1 -18812
- package/schemas/codex/codex-0139-real-probe-result.schema.json +2 -2
- package/schemas/zellij/zellij-right-column-state.schema.json +0 -1
- package/dist/core/commands/ui-command.js +0 -198
- package/dist/core/loops/goal-to-loop-compat.js +0 -22
- package/dist/core/naruto/naruto-allocation-policy.js +0 -98
- package/dist/core/naruto/naruto-finalizer.js +0 -22
- package/dist/core/naruto/naruto-gpt-final-pack.js +0 -50
- package/dist/core/naruto/naruto-real-worker-child.js +0 -209
- package/dist/core/naruto/naruto-real-worker-runtime.js +0 -178
- package/dist/core/naruto/naruto-rebalance-policy.js +0 -47
- package/dist/core/naruto/naruto-verification-pool.js +0 -17
- package/dist/core/ui/dashboard-html.js +0 -110
- package/dist/core/zellij/zellij-dashboard-pane.js +0 -70
- package/dist/core/zellij/zellij-dashboard-renderer.js +0 -59
- package/dist/core/zellij/zellij-naruto-dashboard.js +0 -44
- package/dist/scripts/zellij-dashboard-pane-check.js +0 -69
- package/dist/scripts/zellij-dashboard-watch.js +0 -40
|
@@ -1,149 +1,80 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
export const NATIVE_GOAL_REQUEST_SCHEMA = 'sks.codex-native-goal-request.v1';
|
|
2
|
+
export const NATIVE_GOAL_MAX_CHARS = 4_000;
|
|
3
|
+
export function buildDetailedNativeGoalObjective(prompt) {
|
|
4
|
+
const outcome = normalizePrompt(prompt);
|
|
5
|
+
if (!outcome)
|
|
6
|
+
throw new Error('Missing goal task prompt.');
|
|
7
|
+
const objective = [
|
|
8
|
+
'Outcome:',
|
|
9
|
+
outcome,
|
|
10
|
+
'',
|
|
11
|
+
'Scope:',
|
|
12
|
+
'- Inspect the current authoritative state before changing anything.',
|
|
13
|
+
'- Do only the work directly required to achieve the outcome.',
|
|
14
|
+
'- Preserve unrelated user changes and existing behavior outside this scope.',
|
|
15
|
+
'',
|
|
16
|
+
'Constraints:',
|
|
17
|
+
'- Use Codex native Goal as the only persisted goal owner; do not create SKS goal missions, bridge artifacts, compatibility loops, or fallback goal state.',
|
|
18
|
+
'- Do not add unrelated refactors, speculative features, or substitute implementations.',
|
|
19
|
+
'- Do not perform irreversible or external actions unless the user explicitly authorized them.',
|
|
20
|
+
'',
|
|
21
|
+
'Verification:',
|
|
22
|
+
'- Run checks that cover every changed behavior and inspect their actual results.',
|
|
23
|
+
'- Confirm the final diff and external state match the requested outcome and constraints.',
|
|
24
|
+
'',
|
|
25
|
+
'Done when:',
|
|
26
|
+
'- The requested outcome is implemented completely.',
|
|
27
|
+
'- All relevant verification passes and no required work remains.',
|
|
28
|
+
'- Any explicitly excluded action remains unperformed.',
|
|
29
|
+
'',
|
|
30
|
+
'Stop conditions:',
|
|
31
|
+
'- Stop and request direction only when a hard blocker requires new user authority, missing information that materially changes the result, or an external-state change.',
|
|
32
|
+
'- Do not continue merely to improve, generalize, or polish after every Done when condition is satisfied.',
|
|
33
|
+
'',
|
|
34
|
+
'Non-goals:',
|
|
35
|
+
'- No unrelated cleanup, architecture expansion, new framework, or open-ended optimization.',
|
|
36
|
+
'- No success redefinition around a smaller or easier subset.'
|
|
37
|
+
].join('\n');
|
|
38
|
+
if (objective.length > NATIVE_GOAL_MAX_CHARS) {
|
|
39
|
+
throw new Error(`Detailed native goal exceeds Codex's ${NATIVE_GOAL_MAX_CHARS}-character limit.`);
|
|
40
|
+
}
|
|
41
|
+
return objective;
|
|
42
|
+
}
|
|
6
43
|
export function nativeGoalCommand(action = 'create', prompt = '') {
|
|
7
|
-
|
|
8
|
-
const cleanPrompt = String(prompt || '').trim();
|
|
9
|
-
if (cleanAction === 'pause')
|
|
44
|
+
if (action === 'pause')
|
|
10
45
|
return '/goal pause';
|
|
11
|
-
if (
|
|
46
|
+
if (action === 'resume')
|
|
12
47
|
return '/goal resume';
|
|
13
|
-
if (
|
|
48
|
+
if (action === 'clear')
|
|
14
49
|
return '/goal clear';
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
const prompt = String(opts.prompt || mission?.prompt || '').trim();
|
|
20
|
-
const goalMode = await detectOfficialGoalMode({ runCommand: opts.detectOfficialGoalMode !== false });
|
|
21
|
-
const goalModeArtifact = await writeOfficialGoalModeArtifact(dir, goalMode);
|
|
22
|
-
const workflow = {
|
|
23
|
-
schema_version: 1,
|
|
24
|
-
mission_id: mission.id,
|
|
25
|
-
route: 'Goal',
|
|
26
|
-
action,
|
|
27
|
-
status: action === 'clear' ? 'cleared' : action === 'pause' ? 'paused' : action === 'resume' ? 'resumed' : 'created',
|
|
28
|
-
created_at: nowIso(),
|
|
29
|
-
prompt,
|
|
30
|
-
native_goal: {
|
|
31
|
-
slash_command: nativeGoalCommand(action, prompt),
|
|
32
|
-
workflow_kind: 'native /goal persistence bridge',
|
|
33
|
-
controls: ['create', 'pause', 'resume', 'clear'],
|
|
34
|
-
runtime_continuation: true,
|
|
35
|
-
app_server_api_backed: true,
|
|
36
|
-
model_tools_available: true,
|
|
37
|
-
official_goal_available: goalMode.official_goal_available,
|
|
38
|
-
default_enabled: goalMode.default_enabled,
|
|
39
|
-
fallback_mode: goalMode.mode === 'sks_goal_fallback'
|
|
40
|
-
},
|
|
41
|
-
goal_mode: {
|
|
42
|
-
artifact: path.basename(goalModeArtifact),
|
|
43
|
-
official_goal_available: goalMode.official_goal_available,
|
|
44
|
-
official_goal_applied: goalMode.default_enabled,
|
|
45
|
-
fallback_used: goalMode.mode === 'sks_goal_fallback'
|
|
46
|
-
},
|
|
47
|
-
pipeline_contract: {
|
|
48
|
-
overlay_only: true,
|
|
49
|
-
ambiguity_gate: 'Goal creates/controls the native /goal persistence bridge only; use normal SKS ambiguity gates on the selected execution route when implementation is needed',
|
|
50
|
-
context7: 'optional for Goal bridge/control unless external API/library documentation is involved',
|
|
51
|
-
implementation: 'continue implementation through the selected SKS execution route; Goal is not a heavyweight independent implementation pipeline',
|
|
52
|
-
evidence: ['goal-workflow.json', 'goal-bridge.md']
|
|
53
|
-
},
|
|
54
|
-
repeated_blocker_policy: {
|
|
55
|
-
aligned_with_codex_0_133: true,
|
|
56
|
-
aligned_with_codex_0_132: true,
|
|
57
|
-
stop_after_same_blocker_count: 2,
|
|
58
|
-
structured_blocker: 'sks.loop-blocker.v1',
|
|
59
|
-
applies_to: ['Goal continuation', 'QA loop', 'Research loop', 'UX-Review fix loop']
|
|
60
|
-
},
|
|
61
|
-
phase: action === 'clear' ? 'reporting' : 'intake',
|
|
62
|
-
user_outcome: prompt,
|
|
63
|
-
work_order_ledger_id: null,
|
|
64
|
-
checkpoints: [
|
|
65
|
-
{
|
|
66
|
-
timestamp: nowIso(),
|
|
67
|
-
phase: 'intake',
|
|
68
|
-
summary: 'Goal workflow bridge created as a native /goal persistence overlay.',
|
|
69
|
-
completed_checkboxes: ['goal bridge artifact written'],
|
|
70
|
-
open_checkboxes: ['continue the selected SKS execution route when implementation is needed'],
|
|
71
|
-
blockers: [],
|
|
72
|
-
evidence: [GOAL_WORKFLOW_ARTIFACT, GOAL_BRIDGE_ARTIFACT, path.basename(goalModeArtifact)]
|
|
73
|
-
}
|
|
74
|
-
],
|
|
75
|
-
resume_context: {
|
|
76
|
-
stable_requirements: prompt ? [prompt] : [],
|
|
77
|
-
current_files: [GOAL_WORKFLOW_ARTIFACT, GOAL_BRIDGE_ARTIFACT, path.basename(goalModeArtifact)],
|
|
78
|
-
decisions: ['Codex native /goal is the persisted continuation surface', '$Goal is a lightweight bridge overlay, not an independent implementation pipeline'],
|
|
79
|
-
known_mistakes_to_avoid: ['do not clear noisy context without writing a structured handoff first'],
|
|
80
|
-
active_skills: ['goal'],
|
|
81
|
-
active_agents: []
|
|
82
|
-
},
|
|
83
|
-
clear_policy: {
|
|
84
|
-
preserve_work_order: true,
|
|
85
|
-
preserve_decisions: true,
|
|
86
|
-
preserve_evidence_links: true,
|
|
87
|
-
discard_noisy_logs: true
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
|
-
await writeJsonAtomic(path.join(dir, GOAL_WORKFLOW_ARTIFACT), workflow);
|
|
91
|
-
await writeTextAtomic(path.join(dir, GOAL_BRIDGE_ARTIFACT), goalBridgeMarkdown(workflow));
|
|
92
|
-
await appendJsonl(path.join(dir, 'events.jsonl'), { ts: nowIso(), type: `goal.${action}`, native_goal_command: workflow.native_goal.slash_command });
|
|
93
|
-
return workflow;
|
|
50
|
+
if (action === 'status')
|
|
51
|
+
return '/goal';
|
|
52
|
+
const objective = buildDetailedNativeGoalObjective(prompt);
|
|
53
|
+
return action === 'edit' ? `/goal edit ${objective}` : `/goal ${objective}`;
|
|
94
54
|
}
|
|
95
|
-
export
|
|
96
|
-
const
|
|
97
|
-
|
|
98
|
-
|
|
55
|
+
export function buildNativeGoalRequest(action = 'create', prompt = '') {
|
|
56
|
+
const objective = action === 'create' || action === 'edit'
|
|
57
|
+
? buildDetailedNativeGoalObjective(prompt)
|
|
58
|
+
: null;
|
|
59
|
+
return {
|
|
60
|
+
schema: NATIVE_GOAL_REQUEST_SCHEMA,
|
|
61
|
+
ok: true,
|
|
99
62
|
action,
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
completed_checkboxes: [`goal ${action} artifact update`],
|
|
114
|
-
open_checkboxes: action === 'clear' ? ['handoff preserved before noisy context clear'] : [],
|
|
115
|
-
blockers: [],
|
|
116
|
-
evidence: [GOAL_WORKFLOW_ARTIFACT, GOAL_BRIDGE_ARTIFACT]
|
|
117
|
-
}
|
|
118
|
-
]
|
|
63
|
+
native_only: true,
|
|
64
|
+
sks_state_written: false,
|
|
65
|
+
objective,
|
|
66
|
+
slash_command: nativeGoalCommand(action, prompt),
|
|
67
|
+
completion_contract: objective ? {
|
|
68
|
+
outcome: true,
|
|
69
|
+
scope: true,
|
|
70
|
+
constraints: true,
|
|
71
|
+
verification: true,
|
|
72
|
+
done_when: true,
|
|
73
|
+
stop_conditions: true,
|
|
74
|
+
non_goals: true
|
|
75
|
+
} : null
|
|
119
76
|
};
|
|
120
|
-
await writeJsonAtomic(path.join(dir, GOAL_WORKFLOW_ARTIFACT), next);
|
|
121
|
-
await writeTextAtomic(path.join(dir, GOAL_BRIDGE_ARTIFACT), goalBridgeMarkdown(next));
|
|
122
|
-
await appendJsonl(path.join(dir, 'events.jsonl'), { ts: nowIso(), type: `goal.${action}`, native_goal_command: next.native_goal.slash_command });
|
|
123
|
-
return next;
|
|
124
77
|
}
|
|
125
|
-
function
|
|
126
|
-
return
|
|
127
|
-
|
|
128
|
-
Mission: ${workflow.mission_id}
|
|
129
|
-
Status: ${workflow.status}
|
|
130
|
-
Task: ${workflow.prompt || '(no prompt)'}
|
|
131
|
-
|
|
132
|
-
## Native Codex Goal Control
|
|
133
|
-
|
|
134
|
-
Run this in the Codex TUI when interactive native goal control is available:
|
|
135
|
-
|
|
136
|
-
\`\`\`text
|
|
137
|
-
${workflow.native_goal.slash_command}
|
|
138
|
-
\`\`\`
|
|
139
|
-
|
|
140
|
-
## SKS Bridge Contract
|
|
141
|
-
|
|
142
|
-
- This file is a fast SKS overlay for Codex native persisted \`/goal\` workflow semantics.
|
|
143
|
-
- Official Goal mode: ${workflow.goal_mode?.official_goal_available ? 'available/default-enabled' : 'unavailable; SKS fallback bridge used'}.
|
|
144
|
-
- \`$Goal\` is not a heavyweight independent implementation pipeline.
|
|
145
|
-
- SKS still records route evidence in \`${GOAL_WORKFLOW_ARTIFACT}\` and this bridge file.
|
|
146
|
-
- If implementation work is needed, continue through the selected SKS execution route gates for that work and report verification evidence honestly.
|
|
147
|
-
- Context7 is optional for Goal bridge/control unless external API/library documentation becomes relevant.
|
|
148
|
-
`;
|
|
78
|
+
function normalizePrompt(value) {
|
|
79
|
+
return String(value || '').replace(/\r\n/g, '\n').trim();
|
|
149
80
|
}
|
|
@@ -98,8 +98,8 @@ export function visibleHookMessage(name, text = '') {
|
|
|
98
98
|
return 'SKS: answer-only research context injected.';
|
|
99
99
|
if (body.includes('SKS wiki pipeline active'))
|
|
100
100
|
return 'SKS: wiki refresh context injected.';
|
|
101
|
-
if (body.includes('
|
|
102
|
-
return 'SKS: Goal
|
|
101
|
+
if (body.includes('Codex native Goal control requested'))
|
|
102
|
+
return 'SKS: native Codex Goal control selected; no SKS Goal state was created.';
|
|
103
103
|
if (body.includes('Computer Use fast lane active'))
|
|
104
104
|
return 'SKS: native Computer Use lane injected; defer TriWiki/Honest Mode to final closeout.';
|
|
105
105
|
if (body.includes('MANDATORY ambiguity-removal gate') || body.includes('VISIBLE RESPONSE CONTRACT') || body.includes('Required questions still pending'))
|