sneakoscope 1.10.0 → 1.12.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 +8 -231
- package/crates/sks-core/Cargo.lock +1 -1
- package/crates/sks-core/Cargo.toml +1 -1
- package/crates/sks-core/src/main.rs +1 -1
- package/dist/bin/sks.js +1 -1
- package/dist/build-manifest.json +27 -1
- package/dist/cli/command-registry.js +1 -1
- package/dist/cli/feature-commands.js +26 -3
- package/dist/commands/bench.d.ts +12 -10
- package/dist/commands/dfix.d.ts +153 -1
- package/dist/commands/dfix.js +4 -2
- package/dist/commands/image-ux-review.d.ts +2 -0
- package/dist/commands/ppt.d.ts +336 -1
- package/dist/commands/wiki.d.ts +1 -1
- package/dist/core/bench.d.ts +14 -11
- package/dist/core/bench.js +132 -22
- package/dist/core/codex-exec-output-schema.js +2 -17
- package/dist/core/commands/bench-command.d.ts +12 -10
- package/dist/core/commands/bench-command.js +4 -4
- package/dist/core/commands/dfix-command.d.ts +154 -0
- package/dist/core/commands/dfix-command.js +159 -0
- package/dist/core/commands/image-ux-review-command.d.ts +2 -0
- package/dist/core/commands/image-ux-review-command.js +31 -9
- package/dist/core/commands/ppt-command.d.ts +336 -1
- package/dist/core/commands/ppt-command.js +202 -19
- package/dist/core/commands/wiki-command.d.ts +2 -2
- package/dist/core/dfix.d.ts +143 -0
- package/dist/core/dfix.js +341 -0
- package/dist/core/evidence/evidence-router.js +18 -0
- package/dist/core/feature-fixtures.js +5 -5
- package/dist/core/feature-registry.d.ts +4 -0
- package/dist/core/feature-registry.js +187 -2
- package/dist/core/features/feature-completion.d.ts +2 -0
- package/dist/core/features/feature-completion.js +2 -0
- package/dist/core/fsx.d.ts +1 -1
- package/dist/core/fsx.js +1 -1
- package/dist/core/image-ux-review/real-callout-extractor.d.ts +2 -0
- package/dist/core/image-ux-review/real-callout-extractor.js +4 -0
- package/dist/core/image-ux-review.d.ts +26 -0
- package/dist/core/image-ux-review.js +47 -1
- package/dist/core/json-schema-validator.d.ts +18 -0
- package/dist/core/json-schema-validator.js +222 -0
- package/dist/core/performance-budgets.json +9 -9
- package/dist/core/ppt-imagegen-review.d.ts +124 -0
- package/dist/core/ppt-imagegen-review.js +18 -0
- package/dist/core/ppt-review/deck-issue-ledger.d.ts +28 -0
- package/dist/core/ppt-review/deck-issue-ledger.js +50 -0
- package/dist/core/ppt-review/index.d.ts +122 -0
- package/dist/core/ppt-review/index.js +197 -0
- package/dist/core/ppt-review/ppt-fix-task-planner.d.ts +20 -0
- package/dist/core/ppt-review/ppt-fix-task-planner.js +72 -0
- package/dist/core/ppt-review/ppt-patch-handoff.d.ts +51 -0
- package/dist/core/ppt-review/ppt-patch-handoff.js +55 -0
- package/dist/core/ppt-review/reexport-rereview.d.ts +63 -0
- package/dist/core/ppt-review/reexport-rereview.js +85 -0
- package/dist/core/ppt-review/slide-exporter.d.ts +54 -0
- package/dist/core/ppt-review/slide-exporter.js +262 -0
- package/dist/core/ppt-review/slide-imagegen-review.d.ts +42 -0
- package/dist/core/ppt-review/slide-imagegen-review.js +182 -0
- package/dist/core/ppt-review/slide-issue-extraction.d.ts +79 -0
- package/dist/core/ppt-review/slide-issue-extraction.js +219 -0
- package/dist/core/proof/auto-finalize.d.ts +1 -1
- package/dist/core/proof/auto-finalize.js +2 -2
- package/dist/core/proof/evidence-collector.d.ts +1 -1
- package/dist/core/proof/route-adapter.d.ts +96 -0
- package/dist/core/proof/route-finalizer.d.ts +96 -0
- package/dist/core/proof/route-finalizer.js +2 -0
- package/dist/core/proof/selftest-proof-fixtures.d.ts +96 -0
- package/dist/core/triwiki-wrongness/wrongness-cli.d.ts +2 -2
- package/dist/core/triwiki-wrongness/wrongness-proof-linker.d.ts +1 -1
- package/dist/core/triwiki-wrongness/wrongness-retrieval.d.ts +1 -1
- package/dist/core/triwiki-wrongness/wrongness-schema.d.ts +1 -1
- package/dist/core/triwiki-wrongness/wrongness-schema.js +14 -0
- package/dist/core/trust-kernel/trust-report.d.ts +192 -0
- package/dist/core/trust-kernel/trust-report.js +77 -2
- package/dist/core/version.d.ts +1 -1
- package/dist/core/version.js +1 -1
- package/dist/core/wiki-image/validation.js +9 -1
- package/package.json +32 -5
- package/schemas/codex/all-feature-completion.schema.json +17 -0
- package/schemas/codex/dfix-diagnosis.schema.json +17 -0
- package/schemas/codex/dfix-patch-plan.schema.json +19 -0
- package/schemas/codex/dfix-patch-result.schema.json +20 -0
- package/schemas/codex/dfix-verification-suggestion.schema.json +16 -0
- package/schemas/codex/dfix-verification.schema.json +16 -0
- package/schemas/codex/image-ux-callout-extraction-report.schema.json +23 -0
- package/schemas/codex/ppt-slide-extraction-report.schema.json +36 -0
- package/schemas/codex/ppt-slide-issue-ledger.schema.json +42 -0
package/README.md
CHANGED
|
@@ -4,248 +4,25 @@ Fast legacy-free proof-first Codex trust layer with image-based Voxel TriWiki.
|
|
|
4
4
|
|
|
5
5
|
Sneakoscope Codex (`sks`) is a Codex CLI/App harness that makes repeatable Codex work auditable.
|
|
6
6
|
|
|
7
|
-
SKS **1.10.0** is the Function-Only Update Check release: `sks update-check` and the pre-work update gate now share a lightweight npm freshness function that reports `route_required: false` and `pipeline_required: false`, so checking for a newer SKS package never starts Team, setup, doctor, or any execution pipeline.
|
|
8
|
-
|
|
9
|
-
SKS **1.0.9** is the Official Docs Ultimate Kernel: Codex CLI `rust-v0.132.0` structured resume output is now an actual runner, `gpt-image-2` review generation uses Codex App `$imagegen` evidence or an optional OpenAI Images API fallback, Structured Outputs strict schemas are the extraction fallback, and `$UX-Review this screenshot with gpt-image-2 callouts, then fix the issues` blocks fake callouts until generated image pixels are schema-extracted, patched, recaptured, and re-reviewed.
|
|
10
|
-
|
|
11
|
-
SKS **1.0.8** is the Codex 0.132 UX-Review Seal: Codex CLI `rust-v0.132.0` compatibility is explicit, `codex exec resume --output-schema` is the preferred structured-output path, and `$UX-Review this screenshot with gpt-image-2 callouts, then fix the issues` is a real visual trust loop from source screenshot fidelity to generated callout ingestion, issue ledger extraction, bounded safe fixes, recapture/re-review, Image Voxel relations, Wrongness, Completion Proof, and Trust Report gates.
|
|
12
|
-
|
|
13
|
-
SKS **1.0.7** is the Ultimate Final Completion seal for the Codex trust harness: Computer Use live evidence is an opt-in, local-only macOS evidence path with explicit `probe_only`, `live_capture_attempted`, `live_capture_success`, and `live_capture_blocked` modes; `codex-lb setup` reports durable persistence versus `process_only_ephemeral` honestly; and docs/release readiness checks block mock/probe/live overclaims.
|
|
14
|
-
|
|
15
|
-
SKS **1.0.6** is the final precision polish for the Codex trust harness: hook compatibility is classified as upstream schema plus an SKS zero-warning strict subset, `sks codex-lb setup` previews and applies the exact choices the user selected, and Computer Use has an optional live smoke surface for macOS capability/evidence status.
|
|
16
|
-
|
|
17
|
-
SKS **1.0.5** sealed the prior trust harness: hook outputs were validated against both vendored OpenAI Codex CLI `rust-v0.131.0` schemas and runtime semantic parser rules, codex-lb setup survived macOS user-session launches through env-file/Keychain/launchctl-aware repair surfaces, and Computer Use became the preferred macOS visual evidence capability when available.
|
|
18
|
-
|
|
19
|
-
SKS **1.0.4** introduced the `rust-v0.131.0` schema snapshot, guided codex-lb setup path, and Computer Use/MAD-SKS separation that 1.0.5 now hardens into release gates.
|
|
20
|
-
|
|
21
|
-
SKS **1.0.3** adds git-collaboration hygiene for shared TriWiki memory: `sks git ...`, tracked shared shards under `.sneakoscope/wiki/**`, runtime-only ignores, shared wrongness publish/sync, and Codex App hook trust-state generation for current hook trust syntax.
|
|
22
|
-
|
|
23
|
-
SKS **1.0.2** removed the last blanket TypeScript suppressions from runtime sources (`@ts-nocheck`/`@ts-ignore` are gated out by `npm run typecheck:suppressions`). The package remains `dist`-only, the typed command registry is still the genuine runtime registry, and release checks additionally block stray `.mjs` under `dist`, command-registry import drift (`blackbox:command-import-smoke`), typed contract probes, plus suppression + migration summaries.
|
|
24
|
-
|
|
25
|
-
SKS **1.0.2** also adds TriWiki Wrongness Memory: `sks wrongness ...` records negative evidence for wrong claims, stale or missing proof, test failures, image anchor mistakes, DB safety mismatches, hook policy mismatches, mock-real confusion, and trust overclaims. Active wrongness is retrieved by TriWiki/scouts and lowers or blocks trust until corrected.
|
|
26
|
-
|
|
27
|
-
Hybrid-free **`1.0.1`** already delivered the CLI entrypoint/router/registry/Trust Kernel/Evidence/Proof/Voxel/Scout TypeScript builds, packed installs that smoke-test every lazy import, and **`sks run --execute`** / **`--auto`** paths for safe/mock routes (destructive DB and missing visual proof stay blocked—these are mock/safe-heavy, not universally live executions).
|
|
28
|
-
|
|
29
7
|
SKS does not try to clone every other harness. It focuses on one thing: making Codex work auditable, visual-evidence-bound, safety-gated, and reproducible through Completion Proof.
|
|
30
8
|
|
|
31
9
|

|
|
32
10
|
|
|
11
|
+
## Current Release
|
|
33
12
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
1.10.0 keeps the update freshness check out of the SKS mission pipeline. The shared `runSksUpdateCheck` function performs only an npm `view sneakoscope version` lookup, honors `SKS_NPM_VIEW_SNEAKOSCOPE_VERSION` for hermetic tests, and returns explicit `mode: "function"`, `route_required: false`, and `pipeline_required: false` evidence for CLI JSON output and hook-gate reuse.
|
|
13
|
+
SKS **1.12.0** focuses on real execution closure: UX-Review, PPT Imagegen Review, DFix, and all-feature completion now require command-path wiring, extraction reports, proof/trust/wrongness evidence, mock/real separation, and release gates that block static-only or fake evidence paths.
|
|
37
14
|
|
|
38
15
|
```bash
|
|
39
|
-
sks
|
|
16
|
+
sks features complete --json
|
|
17
|
+
sks ux-review run --image <path> --generate-callouts --json
|
|
18
|
+
sks ppt fixture --mock --json
|
|
19
|
+
sks dfix fixture --json
|
|
40
20
|
```
|
|
41
21
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
## 1.0.9 Official Docs Ultimate Kernel
|
|
45
|
-
|
|
46
|
-
1.0.9 closes the remaining policy-vs-run-path gap. Attached generated images are recorded with `callout_extraction_status: pending` and empty callouts until `codex exec resume --output-schema` or the OpenAI Structured Outputs fallback returns a schema-valid issue ledger. Real `gpt-image-2` generation records request/response artifacts, source SHA-256, high-fidelity automatic input metadata, output hashes, local-only privacy, and blockers instead of substituting prose or generic callouts.
|
|
47
|
-
|
|
48
|
-
```bash
|
|
49
|
-
sks ux-review run --image ./screenshot.png --generate-callouts --json
|
|
50
|
-
sks ux-review attach-generated latest --image ./generated-callouts.png --json
|
|
51
|
-
sks ux-review extract-issues --generated-image ./generated-callouts.png --json
|
|
52
|
-
sks ux-review attach-after latest --image ./after.png --json
|
|
53
|
-
sks ux-review proof latest --json
|
|
54
|
-
sks ux-review explain latest
|
|
55
|
-
npm run official-docs:compat
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
Release checks now include `npm run official-docs:compat` and write `.sneakoscope/reports/official-docs-compat-1.0.9.json` plus `.sneakoscope/reports/release-readiness-1.0.9.json`.
|
|
59
|
-
|
|
60
|
-
## 1.0.8 Codex 0.132 UX-Review Seal
|
|
61
|
-
|
|
62
|
-
1.0.8 makes UX-Review the representative SKS visual trust harness rather than a policy-only fixture. The CLI/App route now records source screenshot original-resolution metadata, requires real `gpt-image-2` generated callout images before verified UX claims, extracts visible callouts into `schemas/codex/image-ux-issue-ledger.schema.json`, plans bounded P0/P1-first fixes, and requires recapture/re-review before visual fix verification.
|
|
63
|
-
|
|
64
|
-
```bash
|
|
65
|
-
sks codex compatibility --json
|
|
66
|
-
sks ux-review run --image ./screenshot.png --fix --json
|
|
67
|
-
sks ux-review callouts --image ./screenshot.png --json
|
|
68
|
-
sks ux-review extract-issues --generated-image ./generated-callouts.png --json
|
|
69
|
-
sks ux-review fix latest --json
|
|
70
|
-
sks ux-review recapture latest --json
|
|
71
|
-
sks ux-review recheck latest --json
|
|
72
|
-
sks ux-review status latest --json
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
Release checks now include:
|
|
76
|
-
|
|
77
|
-
- `npm run codex:0.132-compat`
|
|
78
|
-
- `npm run codex:output-schema-fixture`
|
|
79
|
-
- `npm run image-fidelity:check`
|
|
80
|
-
- `npm run ux-review:real-loop-fixture`
|
|
81
|
-
- `npm run ux-review:no-text-fallback`
|
|
82
|
-
- `npm run ux-review:image-voxel-relations`
|
|
83
|
-
- `npm run memory-summary:rebuild-check`
|
|
84
|
-
- `npm run loop-blocker:check`
|
|
85
|
-
|
|
86
|
-
`gpt-image-2` output is local-only by default. Text-only critique is blocked, mock fixtures stay `verified_partial` or lower, screenshot binaries are not automatically published to shared TriWiki, and unavailable Codex/App image-generation capability is recorded as a blocker instead of being faked.
|
|
87
|
-
|
|
88
|
-
## 1.0.7 Ultimate Final Completion
|
|
89
|
-
|
|
90
|
-
1.0.7 does not add a new route, skill, or competing harness. It closes the last trust gaps around live visual evidence, persistence truth, and release documentation.
|
|
91
|
-
|
|
92
|
-
Computer Use live evidence stays optional and explicit:
|
|
93
|
-
|
|
94
|
-
```bash
|
|
95
|
-
sks computer-use smoke --json
|
|
96
|
-
sks computer-use smoke --real --capture-screenshot --json
|
|
97
|
-
sks computer-use smoke --real --require-real --json
|
|
98
|
-
npm run computer-use:live-evidence
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
Default smoke is `probe_only` and never attempts screen capture. Real mode records `live_capture_attempted`, `live_capture_success`, or `live_capture_blocked`; if Codex App, macOS permission, or the official Computer Use capture surface is unavailable, SKS writes a structured blocker instead of fabricated evidence. Browser Use evidence and manual screenshots remain separate sources. Computer Use screenshots are local-only by default, carry SHA-256 metadata, and link to Image Voxel only when a mission-local anchor can be made.
|
|
102
|
-
|
|
103
|
-
codex-lb setup now reports the exact persistence truth:
|
|
104
|
-
|
|
105
|
-
```bash
|
|
106
|
-
sks codex-lb setup --host lb.example.com --api-key-stdin --plan --json
|
|
107
|
-
sks codex-lb setup --host lb.example.com --api-key-stdin --yes --no-env-file --no-keychain --no-launchctl --shell-profile skip --json
|
|
108
|
-
npm run codex-lb:persistence-truth
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
Durable modes are `durable_env_file`, `durable_keychain`, `durable_launchctl`, and `shell_profile`. If all durable modes are disabled, setup is classified as `process_only_ephemeral`, emits `next_shell_requires_setup_or_env`, and warns that Codex App GUI launches may not see credentials. Use `sks codex-lb setup --write-env-file --keychain --launchctl` to recover durable persistence.
|
|
112
|
-
|
|
113
|
-
Documentation truthfulness is now a release invariant:
|
|
114
|
-
|
|
115
|
-
```bash
|
|
116
|
-
npm run docs:truthfulness
|
|
117
|
-
npm run release:readiness
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
The hook compatibility surface remains the upstream schema plus the SKS zero-warning strict subset; SKS does not claim to mirror every upstream runtime parser rule or guarantee universal Computer Use availability.
|
|
121
|
-
|
|
122
|
-
## 1.0.6 Final Precision Polish
|
|
123
|
-
|
|
124
|
-
SKS validates Codex hooks against the OpenAI Codex `rust-v0.131.0` schema and enforces a stricter SKS zero-warning subset. Some fields may be accepted by upstream but are intentionally disallowed by SKS to avoid user-facing hook warnings and release drift. `sks hooks warning-check --json` now reports `schema_violation`, `upstream_semantic_unsupported`, `sks_zero_warning_disallowed`, `legacy_shape`, and `policy_disallowed` category counts.
|
|
125
|
-
|
|
126
|
-
`sks codex-lb setup` is now a two-phase plan/apply wizard. Every question maps to an actual action: provider selection, env file writing, Keychain storage, launchctl sync, shell profile snippets, and health checks.
|
|
127
|
-
|
|
128
|
-
```bash
|
|
129
|
-
sks codex-lb setup --host lb.example.com --api-key-stdin --plan --json
|
|
130
|
-
sks codex-lb setup --host lb.example.com --api-key-stdin --yes --no-default-provider --no-env-file --json
|
|
131
|
-
npm run codex-lb:setup-truthfulness
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
Computer Use live validation is optional and opt-in. On macOS, `SKS_TEST_REAL_COMPUTER_USE=1 sks computer-use smoke --real --json` attempts a non-destructive capability/evidence check. If Codex App or macOS denies the capability, SKS records a structured blocker and does not fabricate visual evidence.
|
|
135
|
-
|
|
136
|
-
```bash
|
|
137
|
-
sks computer-use smoke --json
|
|
138
|
-
SKS_TEST_REAL_COMPUTER_USE=1 sks computer-use smoke --real --json
|
|
139
|
-
npm run computer-use:live-optional
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
## 1.0.5 Ultimate Harness Seal
|
|
143
|
-
|
|
144
|
-
SKS 1.0.5 treats Codex hook semantic compatibility as stricter than schema compatibility. `sks hooks warning-check --json` and `npm run hooks:semantic-check` fail if an output uses `permissionDecision:"ask"`, PreToolUse `allow` without `updatedInput`, Stop `continue:false`, `stopReason`, `suppressOutput`, snake_case keys, unknown fields, or legacy top-level hook decisions.
|
|
145
|
-
|
|
146
|
-
codex-lb setup now has a durable setup/repair path:
|
|
147
|
-
|
|
148
|
-
```bash
|
|
149
|
-
sks codex-lb setup --host lb.example.com --api-key-stdin --yes --json
|
|
150
|
-
sks codex-lb status --json
|
|
151
|
-
sks codex-lb doctor --deep --json
|
|
152
|
-
npm run codex-lb:missing-env-regression
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
The API key is written only to redacted status surfaces. The env file is `~/.codex/sks-codex-lb.env`, metadata is `~/.codex/sks-codex-lb.json`, and reports expose only a redacted presence state plus a fingerprint. Raw `CODEX_LB_API_KEY` missing-env errors are release failures.
|
|
156
|
-
|
|
157
|
-
Computer Use is a Codex App/macOS capability, not a MAD-SKS or DB permission. Visual routes use:
|
|
158
|
-
|
|
159
|
-
```bash
|
|
160
|
-
sks computer-use status --json
|
|
161
|
-
sks computer-use require --route '$QA-LOOP' --json
|
|
162
|
-
npm run computer-use:visual-route-fixture
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
If Codex App or macOS blocks the capability, SKS records `external_capability_blocked`, `codex_app_missing`, `macos_permission_missing`, or the closest structured status and does not fabricate UI evidence.
|
|
166
|
-
|
|
167
|
-
## 1.0.4 Codex CLI Compatibility
|
|
168
|
-
|
|
169
|
-
SKS 1.0.4 targets OpenAI Codex CLI `rust-v0.131.0`. Hook outputs are validated against vendored upstream schemas, so SKS fails release checks if it emits deprecated hook shapes or unknown fields. `sks codex-lb setup` now guides users through domain/base URL and API key setup, stores secrets securely, and prevents raw `CODEX_LB_API_KEY` missing messages. On macOS, Computer Use is treated as a first-class Codex App visual evidence capability and is never blocked by MAD-SKS or a generic SKS safety policy.
|
|
170
|
-
|
|
171
|
-
If the Codex App or OS itself denies Computer Use capability, SKS records `external_capability_blocked` and does not fabricate UI evidence.
|
|
172
|
-
|
|
173
|
-
New checks:
|
|
174
|
-
|
|
175
|
-
- `sks codex compatibility --json`
|
|
176
|
-
- `sks codex doctor --json`
|
|
177
|
-
- `sks hooks codex-validate --json`
|
|
178
|
-
- `sks hooks warning-check --json`
|
|
179
|
-
- `sks codex-lb setup --host <domain> --api-key-stdin --yes --json`
|
|
180
|
-
- `sks computer-use status --json`
|
|
181
|
-
|
|
182
|
-
## 1.0.3 Previous Release Notes
|
|
183
|
-
|
|
184
|
-
SKS **1.0.3 makes TriWiki collaboration git-safe.** Shared claims, wrongness records, image voxels, and avoidance rules publish to one-record JSON shards; generated indexes are ignored and rebuilt. `.gitignore` no longer hides all of `.sneakoscope/`, so shared memory can be committed while missions, logs, reports, caches, and temporary packs stay local.
|
|
185
|
-
|
|
186
|
-
New commands:
|
|
187
|
-
|
|
188
|
-
- `sks git policy|install|status|doctor|precommit|publish-plan|summary`
|
|
189
|
-
- `sks wiki publish latest --shared`
|
|
190
|
-
- `sks wrongness publish latest --shared`
|
|
191
|
-
- `sks wiki rebuild-index --json`
|
|
192
|
-
- `sks wiki validate-shared --json`
|
|
193
|
-
|
|
194
|
-
Codex App setup now writes hook trust-state hashes into `.codex/config.toml` for the managed `.codex/hooks.json`, matching the current Codex hook trust model.
|
|
195
|
-
|
|
196
|
-
## 1.0.2 Previous Release Notes
|
|
197
|
-
|
|
198
|
-
SKS **1.0.2 removes the blanket `@ts-nocheck` / `@ts-ignore` layer from runtime TypeScript.** The shipped package stays `dist`-only, keeps the typed command registry as the real runtime dispatcher, runs `npm run typecheck:suppressions` ahead of builds in `release:check`, and records migration counters under `.sneakoscope/reports/typescript-migration.*`.
|
|
199
|
-
|
|
200
|
-
`npm run dist:check` now pairs the existing filesystem `.mjs` hunt with **`sks.dist-build.v2`** metadata that records `mjs_runtime_files = 0` plus the semver captured at build time—guarding accidental hybrid drift.
|
|
201
|
-
|
|
202
|
-
`npm run typecheck`, `npm run typecheck:suppressions`, `npm run typecheck:contracts`, `npm run test:types`, and `npm run release:check` are the release proof for the 1.0.2 strict TypeScript seal.
|
|
203
|
-
|
|
204
|
-
## 1.0.1 Previous Release
|
|
205
|
-
|
|
206
|
-
1.0.1 removes the package/runtime hybrid boundary. The TypeScript command registry is the actual CLI runtime registry, `npm run build` no longer copies `src/**/*.mjs` into `dist`, and `npm run dist:check` blocks `dist/**/*.mjs`, `.mjs` imports, and contract-only registry markers.
|
|
207
|
-
|
|
208
|
-
Highlights:
|
|
209
|
-
|
|
210
|
-
- `npm run build`, `npm run typecheck`, `npm run typecheck:contracts`, and `npm run schema:check` are release invariants.
|
|
211
|
-
- `npm run dist:check` proves the built runtime is `dist`-only JavaScript generated from TypeScript.
|
|
212
|
-
- `npm run package-boundary:check` and `npm run blackbox:command-import-smoke` verify the packed package, not just the source checkout.
|
|
213
|
-
- `npm run blackbox:matrix` runs real pack install, npx one-shot, global shim, no-git, spaces, and Korean/Unicode path checks by default.
|
|
214
|
-
- `sks run "task" --execute --json` and `sks run "task" --auto --json` execute safe routes; visual evidence gaps and destructive DB prompts block with explicit recovery.
|
|
215
|
-
- `sks trust report latest --json`, `sks trust validate latest --json`, and `sks trust explain latest` expose the route trust kernel.
|
|
216
|
-
- Route finalization writes mission-local `route-completion-contract.json`, `evidence-index.json`, `evidence.jsonl`, and `trust-report.json`.
|
|
217
|
-
- Mock/static evidence stays `verified_partial` or lower; static contracts cannot satisfy runtime route contracts.
|
|
218
|
-
- Visual route validation blocks stale image/voxel anchors.
|
|
219
|
-
- `sks bench core --tier source-ci --json` writes `.sneakoscope/reports/performance/core-bench.json` and `.md` using tiered budgets.
|
|
220
|
-
- `sks paths managed --json` and `sks rollback list --json` document SKS-owned project paths and explicit rollback actions.
|
|
221
|
-
|
|
222
|
-
## 0.9.19 Release
|
|
223
|
-
|
|
224
|
-
0.9.19 makes SKS Scout evidence parse-bound and package-install verified. Real Codex/tmux/Codex App subagent engines must write parseable scout output before consensus can use them as primary evidence. If an engine is unavailable or output cannot be parsed, SKS records a blocked or verified-partial result instead of substituting static evidence. Packed package checks now cover temp install, npx one-shot, and global shim behavior.
|
|
225
|
-
|
|
226
|
-
Highlights:
|
|
227
|
-
|
|
228
|
-
- Real Scout outputs are parsed from pure JSON, fenced JSON, `SCOUT_RESULT_JSON:` markdown, or final JSON blocks into `sks.scout-result.v1`.
|
|
229
|
-
- `scout-consensus.json` records whether primary evidence came from parsed real outputs or local static fixtures.
|
|
230
|
-
- `tmux-lanes` has an opt-in session/window/watcher/cleanup path; release gates skip or block honestly when live tmux/Codex is unavailable.
|
|
231
|
-
- Codex App subagents require a local `sks.codex-app-subagents-capability.v1` descriptor; `SKS_CODEX_APP_SUBAGENTS=1` alone is not enough.
|
|
232
|
-
- `npm run release:check` includes `pipeline-runtime:check`, `feature-quality:check`, `scouts:parser-check`, and `blackbox:check`.
|
|
233
|
-
- Feature fixtures report `runtime_verified`, `runtime_mock_verified`, `integration_optional`, `static_contract`, and `missing` counts.
|
|
234
|
-
- `sks rust status|smoke --json` reports optional Rust availability, detects stale native binaries, and proves JS fallback parity when native Rust is missing or version-mismatched.
|
|
235
|
-
- `npm run release:check` includes `route-modularity:check`, `command-budget:check`, and `feature-fixtures:strict`.
|
|
236
|
-
|
|
237
|
-
`0.9.14` turned SKS into a legacy-free proof-first trust layer for Codex work:
|
|
22
|
+
Detailed release history lives in [CHANGELOG.md](CHANGELOG.md). Current release gate status lives in [docs/release-readiness.md](docs/release-readiness.md).
|
|
238
23
|
|
|
239
|
-
|
|
240
|
-
- Serious routes write Completion Proof through the central route finalizer before completion is claimed.
|
|
241
|
-
- Visual/UI routes require Image Voxel TriWiki anchors, with before/after relations for visual fix claims.
|
|
242
|
-
- Executable feature fixtures validate expected artifact existence and schema contracts.
|
|
243
|
-
- Hook replay strictly matches decision, reason, gate, issues, continuation, and redaction policy.
|
|
244
|
-
- codex-lb launch failures feed both global and active-project circuit health; stateless `previous_response_not_found` stays a warning.
|
|
245
|
-
- Rust `image-hash` and semantic `voxel-validate` commands match JS fallback behavior.
|
|
246
|
-
- `$Commit` and `$Commit-And-Push` provide a simple git-only route for staging, committing, and optionally pushing without the full SKS pipeline.
|
|
24
|
+
## Documentation
|
|
247
25
|
|
|
248
|
-
Learn more:
|
|
249
26
|
- Completion Proof: [docs/completion-proof.md](docs/completion-proof.md)
|
|
250
27
|
- TypeScript architecture: [docs/typescript-architecture.md](docs/typescript-architecture.md)
|
|
251
28
|
- Trust Kernel: [docs/trust-kernel.md](docs/trust-kernel.md)
|
|
@@ -4,7 +4,7 @@ use std::io::{self, Read, Seek, SeekFrom};
|
|
|
4
4
|
fn main() {
|
|
5
5
|
let mut args = std::env::args().skip(1);
|
|
6
6
|
match args.next().as_deref() {
|
|
7
|
-
Some("--version") => println!("sks-rs 1.
|
|
7
|
+
Some("--version") => println!("sks-rs 1.12.0"),
|
|
8
8
|
Some("compact-info") => {
|
|
9
9
|
let mut input = String::new();
|
|
10
10
|
let _ = io::stdin().read_to_string(&mut input);
|
package/dist/bin/sks.js
CHANGED
package/dist/build-manifest.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": "sks.dist-build.v2",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.12.0",
|
|
4
4
|
"typescript": true,
|
|
5
5
|
"mjs_runtime_files": 0,
|
|
6
6
|
"files": [
|
|
@@ -232,6 +232,8 @@
|
|
|
232
232
|
"core/commands/computer-use-command.js",
|
|
233
233
|
"core/commands/db-command.d.ts",
|
|
234
234
|
"core/commands/db-command.js",
|
|
235
|
+
"core/commands/dfix-command.d.ts",
|
|
236
|
+
"core/commands/dfix-command.js",
|
|
235
237
|
"core/commands/eval-command.d.ts",
|
|
236
238
|
"core/commands/eval-command.js",
|
|
237
239
|
"core/commands/gc-command.d.ts",
|
|
@@ -302,6 +304,8 @@
|
|
|
302
304
|
"core/decision-contract.js",
|
|
303
305
|
"core/decision-lattice.d.ts",
|
|
304
306
|
"core/decision-lattice.js",
|
|
307
|
+
"core/dfix.d.ts",
|
|
308
|
+
"core/dfix.js",
|
|
305
309
|
"core/dogfood-loop.d.ts",
|
|
306
310
|
"core/dogfood-loop.js",
|
|
307
311
|
"core/effort-orchestrator.d.ts",
|
|
@@ -328,6 +332,8 @@
|
|
|
328
332
|
"core/feature-fixtures.js",
|
|
329
333
|
"core/feature-registry.d.ts",
|
|
330
334
|
"core/feature-registry.js",
|
|
335
|
+
"core/features/feature-completion.d.ts",
|
|
336
|
+
"core/features/feature-completion.js",
|
|
331
337
|
"core/features/feature-fixtures.d.ts",
|
|
332
338
|
"core/features/feature-fixtures.js",
|
|
333
339
|
"core/features/feature-registry.d.ts",
|
|
@@ -390,6 +396,8 @@
|
|
|
390
396
|
"core/image-ux-review/recapture.js",
|
|
391
397
|
"core/init.d.ts",
|
|
392
398
|
"core/init.js",
|
|
399
|
+
"core/json-schema-validator.d.ts",
|
|
400
|
+
"core/json-schema-validator.js",
|
|
393
401
|
"core/language-preference.d.ts",
|
|
394
402
|
"core/language-preference.js",
|
|
395
403
|
"core/loop-blocker.d.ts",
|
|
@@ -467,6 +475,24 @@
|
|
|
467
475
|
"core/pipeline/stop-gate.js",
|
|
468
476
|
"core/pipeline/validation.d.ts",
|
|
469
477
|
"core/pipeline/validation.js",
|
|
478
|
+
"core/ppt-imagegen-review.d.ts",
|
|
479
|
+
"core/ppt-imagegen-review.js",
|
|
480
|
+
"core/ppt-review/deck-issue-ledger.d.ts",
|
|
481
|
+
"core/ppt-review/deck-issue-ledger.js",
|
|
482
|
+
"core/ppt-review/index.d.ts",
|
|
483
|
+
"core/ppt-review/index.js",
|
|
484
|
+
"core/ppt-review/ppt-fix-task-planner.d.ts",
|
|
485
|
+
"core/ppt-review/ppt-fix-task-planner.js",
|
|
486
|
+
"core/ppt-review/ppt-patch-handoff.d.ts",
|
|
487
|
+
"core/ppt-review/ppt-patch-handoff.js",
|
|
488
|
+
"core/ppt-review/reexport-rereview.d.ts",
|
|
489
|
+
"core/ppt-review/reexport-rereview.js",
|
|
490
|
+
"core/ppt-review/slide-exporter.d.ts",
|
|
491
|
+
"core/ppt-review/slide-exporter.js",
|
|
492
|
+
"core/ppt-review/slide-imagegen-review.d.ts",
|
|
493
|
+
"core/ppt-review/slide-imagegen-review.js",
|
|
494
|
+
"core/ppt-review/slide-issue-extraction.d.ts",
|
|
495
|
+
"core/ppt-review/slide-issue-extraction.js",
|
|
470
496
|
"core/ppt.d.ts",
|
|
471
497
|
"core/ppt.js",
|
|
472
498
|
"core/prompt-context-builder.d.ts",
|
|
@@ -110,7 +110,7 @@ export const COMMANDS = {
|
|
|
110
110
|
'$': entry('stable', 'Alias for dollar-commands', 'dist/core/commands/basic-cli.js', basicArgs('dollarCommandsCommand')),
|
|
111
111
|
commit: entry('stable', 'Create a simple git commit', 'dist/commands/commit.js', directCommand(() => import('../commands/commit.js'), 'dist/commands/commit.js')),
|
|
112
112
|
'commit-and-push': entry('stable', 'Create a simple git commit and push', 'dist/commands/commit-and-push.js', directCommand(() => import('../commands/commit-and-push.js'), 'dist/commands/commit-and-push.js')),
|
|
113
|
-
dfix: entry('stable', '
|
|
113
|
+
dfix: entry('stable', 'Run DFix diagnose/plan/patch/verify loop', 'dist/core/commands/dfix-command.js', commandArgsCommand(() => import('../core/commands/dfix-command.js'), 'dfixCommand', 'dist/core/commands/dfix-command.js')),
|
|
114
114
|
team: entry('beta', 'Create and observe Team missions', 'dist/core/commands/team-command.js', argsCommand(() => import('../core/commands/team-command.js'), 'team', 'dist/core/commands/team-command.js')),
|
|
115
115
|
'qa-loop': entry('beta', 'Run QA loop missions', 'dist/core/commands/qa-loop-command.js', subcommand(() => import('../core/commands/qa-loop-command.js'), 'qaLoopCommand', 'dist/core/commands/qa-loop-command.js')),
|
|
116
116
|
research: entry('labs', 'Run research missions', 'dist/core/commands/research-command.js', subcommand(() => import('../core/commands/research-command.js'), 'researchCommand', 'dist/core/commands/research-command.js')),
|
|
@@ -5,7 +5,7 @@ import { exists, projectRoot, readJson, writeJsonAtomic } from '../core/fsx.js';
|
|
|
5
5
|
import { CODEX_ACCESS_TOKENS_DOCS_URL } from '../core/codex-app.js';
|
|
6
6
|
import { redactSecrets } from '../core/secret-redaction.js';
|
|
7
7
|
import { evaluateHookPayload } from '../core/hooks-runtime.js';
|
|
8
|
-
import { buildAllFeaturesSelftest, buildFeatureRegistry, validateFeatureRegistry, writeFeatureInventoryDocs } from '../core/feature-registry.js';
|
|
8
|
+
import { buildAllFeaturesSelftest, buildFeatureRegistry, validateFeatureRegistry, writeAllFeatureCompletionReport, writeFeatureInventoryDocs } from '../core/feature-registry.js';
|
|
9
9
|
import { recordHookPolicyMismatchWrongness } from '../core/triwiki-wrongness/wrongness-ledger.js';
|
|
10
10
|
import { codexSchemaSnapshotReport } from '../core/codex-compat/codex-schema-snapshot.js';
|
|
11
11
|
import { validateCodexFixtureOutputs } from '../core/codex-compat/codex-hook-schema.js';
|
|
@@ -49,13 +49,36 @@ export async function featuresCommand(sub = 'list', args = []) {
|
|
|
49
49
|
process.exitCode = 1;
|
|
50
50
|
return;
|
|
51
51
|
}
|
|
52
|
-
|
|
52
|
+
if (action === 'complete') {
|
|
53
|
+
const report = await writeAllFeatureCompletionReport({ root });
|
|
54
|
+
if (flag(args, '--json'))
|
|
55
|
+
console.log(JSON.stringify(report, null, 2));
|
|
56
|
+
else {
|
|
57
|
+
console.log(`All feature completion: ${report.status}`);
|
|
58
|
+
console.log(`Report: ${path.relative(root, report.files.json)}`);
|
|
59
|
+
}
|
|
60
|
+
if (!report.ok)
|
|
61
|
+
process.exitCode = 1;
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
console.error('Usage: sks features list|check|inventory|complete [--json] [--write-docs]');
|
|
53
65
|
process.exitCode = 1;
|
|
54
66
|
}
|
|
55
67
|
export async function allFeaturesCommand(sub = 'selftest', args = []) {
|
|
56
68
|
const action = sub || 'selftest';
|
|
69
|
+
if (action === 'complete' || action === 'completion') {
|
|
70
|
+
const root = await projectRoot();
|
|
71
|
+
const report = await writeAllFeatureCompletionReport({ root });
|
|
72
|
+
if (flag(args, '--json'))
|
|
73
|
+
return console.log(JSON.stringify(report, null, 2));
|
|
74
|
+
console.log(`All feature completion: ${report.status}`);
|
|
75
|
+
console.log(`Report: ${path.relative(root, report.files.json)}`);
|
|
76
|
+
if (!report.ok)
|
|
77
|
+
process.exitCode = 1;
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
57
80
|
if (action !== 'selftest') {
|
|
58
|
-
console.error('Usage: sks all-features selftest --mock [--execute-fixtures] [--json]');
|
|
81
|
+
console.error('Usage: sks all-features selftest|complete --mock [--execute-fixtures] [--json]');
|
|
59
82
|
process.exitCode = 1;
|
|
60
83
|
return;
|
|
61
84
|
}
|
package/dist/commands/bench.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export declare function run(_command: any, args?: any): Promise<void | {
|
|
|
3
3
|
generated_at: string;
|
|
4
4
|
tier: any;
|
|
5
5
|
iterations: number;
|
|
6
|
+
warmup_iterations: number;
|
|
6
7
|
budget_tiers: Readonly<{
|
|
7
8
|
'source-local': {
|
|
8
9
|
'sks --version': number;
|
|
@@ -10,7 +11,7 @@ export declare function run(_command: any, args?: any): Promise<void | {
|
|
|
10
11
|
'sks root --json': number;
|
|
11
12
|
'sks commands --json': number;
|
|
12
13
|
'sks proof validate --json': number;
|
|
13
|
-
'sks trust validate
|
|
14
|
+
'sks trust validate bench-fixture --json': number;
|
|
14
15
|
'sks wiki image-validate --json': number;
|
|
15
16
|
'sks features check --json': number;
|
|
16
17
|
'sks scouts engines --json': number;
|
|
@@ -21,7 +22,7 @@ export declare function run(_command: any, args?: any): Promise<void | {
|
|
|
21
22
|
'sks root --json': number;
|
|
22
23
|
'sks commands --json': number;
|
|
23
24
|
'sks proof validate --json': number;
|
|
24
|
-
'sks trust validate
|
|
25
|
+
'sks trust validate bench-fixture --json': number;
|
|
25
26
|
'sks wiki image-validate --json': number;
|
|
26
27
|
'sks features check --json': number;
|
|
27
28
|
'sks scouts engines --json': number;
|
|
@@ -32,7 +33,7 @@ export declare function run(_command: any, args?: any): Promise<void | {
|
|
|
32
33
|
'sks root --json': number;
|
|
33
34
|
'sks commands --json': number;
|
|
34
35
|
'sks proof validate --json': number;
|
|
35
|
-
'sks trust validate
|
|
36
|
+
'sks trust validate bench-fixture --json': number;
|
|
36
37
|
'sks wiki image-validate --json': number;
|
|
37
38
|
'sks features check --json': number;
|
|
38
39
|
'sks scouts engines --json': number;
|
|
@@ -43,7 +44,7 @@ export declare function run(_command: any, args?: any): Promise<void | {
|
|
|
43
44
|
'sks root --json': number;
|
|
44
45
|
'sks commands --json': number;
|
|
45
46
|
'sks proof validate --json': number;
|
|
46
|
-
'sks trust validate
|
|
47
|
+
'sks trust validate bench-fixture --json': number;
|
|
47
48
|
'sks wiki image-validate --json': number;
|
|
48
49
|
'sks features check --json': number;
|
|
49
50
|
'sks scouts engines --json': number;
|
|
@@ -54,7 +55,7 @@ export declare function run(_command: any, args?: any): Promise<void | {
|
|
|
54
55
|
'sks root --json': number;
|
|
55
56
|
'sks commands --json': number;
|
|
56
57
|
'sks proof validate --json': number;
|
|
57
|
-
'sks trust validate
|
|
58
|
+
'sks trust validate bench-fixture --json': number;
|
|
58
59
|
'sks wiki image-validate --json': number;
|
|
59
60
|
'sks features check --json': number;
|
|
60
61
|
'sks scouts engines --json': number;
|
|
@@ -82,6 +83,7 @@ export declare function run(_command: any, args?: any): Promise<void | {
|
|
|
82
83
|
generated_at: string;
|
|
83
84
|
tier: any;
|
|
84
85
|
iterations: number;
|
|
86
|
+
warmup_iterations: number;
|
|
85
87
|
budget_tiers: Readonly<{
|
|
86
88
|
'source-local': {
|
|
87
89
|
'sks --version': number;
|
|
@@ -89,7 +91,7 @@ export declare function run(_command: any, args?: any): Promise<void | {
|
|
|
89
91
|
'sks root --json': number;
|
|
90
92
|
'sks commands --json': number;
|
|
91
93
|
'sks proof validate --json': number;
|
|
92
|
-
'sks trust validate
|
|
94
|
+
'sks trust validate bench-fixture --json': number;
|
|
93
95
|
'sks wiki image-validate --json': number;
|
|
94
96
|
'sks features check --json': number;
|
|
95
97
|
'sks scouts engines --json': number;
|
|
@@ -100,7 +102,7 @@ export declare function run(_command: any, args?: any): Promise<void | {
|
|
|
100
102
|
'sks root --json': number;
|
|
101
103
|
'sks commands --json': number;
|
|
102
104
|
'sks proof validate --json': number;
|
|
103
|
-
'sks trust validate
|
|
105
|
+
'sks trust validate bench-fixture --json': number;
|
|
104
106
|
'sks wiki image-validate --json': number;
|
|
105
107
|
'sks features check --json': number;
|
|
106
108
|
'sks scouts engines --json': number;
|
|
@@ -111,7 +113,7 @@ export declare function run(_command: any, args?: any): Promise<void | {
|
|
|
111
113
|
'sks root --json': number;
|
|
112
114
|
'sks commands --json': number;
|
|
113
115
|
'sks proof validate --json': number;
|
|
114
|
-
'sks trust validate
|
|
116
|
+
'sks trust validate bench-fixture --json': number;
|
|
115
117
|
'sks wiki image-validate --json': number;
|
|
116
118
|
'sks features check --json': number;
|
|
117
119
|
'sks scouts engines --json': number;
|
|
@@ -122,7 +124,7 @@ export declare function run(_command: any, args?: any): Promise<void | {
|
|
|
122
124
|
'sks root --json': number;
|
|
123
125
|
'sks commands --json': number;
|
|
124
126
|
'sks proof validate --json': number;
|
|
125
|
-
'sks trust validate
|
|
127
|
+
'sks trust validate bench-fixture --json': number;
|
|
126
128
|
'sks wiki image-validate --json': number;
|
|
127
129
|
'sks features check --json': number;
|
|
128
130
|
'sks scouts engines --json': number;
|
|
@@ -133,7 +135,7 @@ export declare function run(_command: any, args?: any): Promise<void | {
|
|
|
133
135
|
'sks root --json': number;
|
|
134
136
|
'sks commands --json': number;
|
|
135
137
|
'sks proof validate --json': number;
|
|
136
|
-
'sks trust validate
|
|
138
|
+
'sks trust validate bench-fixture --json': number;
|
|
137
139
|
'sks wiki image-validate --json': number;
|
|
138
140
|
'sks features check --json': number;
|
|
139
141
|
'sks scouts engines --json': number;
|