sneakoscope 10.5.7 → 10.5.8

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 CHANGED
@@ -14,14 +14,19 @@
14
14
  </div>
15
15
 
16
16
  <!-- BEGIN SKS SEARCH VISIBILITY MARKETING -->
17
- Sneakoscope Codex (`sks`) is an open-source trust layer for Codex CLI and ChatGPT Desktop. It coordinates bounded AI coding agents, records machine-verifiable evidence, preserves project memory, and blocks release claims that are not supported by current tests or artifacts. Search visibility outcomes are measured separately; SKS does not promise rankings or traffic.
17
+ Sneakoscope Codex (`sks`) is an open-source local tool for the Codex CLI and Codex desktop app. It adds a macOS control center, bounded agent workflows, repository context, and evidence checks for SKS releases.
18
18
  <!-- END SKS SEARCH VISIBILITY MARKETING -->
19
19
 
20
- Current package: **SKS 10.5.7**. Install the latest stable release from npm.
20
+ Current package: **SKS 10.5.8**, prepared for npm publication.
21
+ [Release notes](https://github.com/mandarange/Sneakoscope-Codex/releases/tag/v10.5.8)
22
+ · [Changelog](CHANGELOG.md). Install the latest stable release from npm.
21
23
 
22
- Sneakoscope Codex (`sks`) is a local trust layer for Codex CLI and ChatGPT Desktop. It keeps agent work bounded, preserves project context, records machine-verifiable evidence, and prevents release claims that current tests or artifacts cannot support.
23
-
24
- Use SKS when you want an AI coding session to end with something you can inspect: the change, the checks that ran, and the evidence behind the result. SKS is local-first and deterministic. It does not promise model quality, search rankings, or traffic.
24
+ Ordinary work stays with the main agent. Optional Jev decisions use OpenRouter
25
+ with cloud consent; source indexing and safety checks run locally. The default
26
+ `essential` verification profile keeps safety checks active without requiring
27
+ completion-proof rituals on every turn. `strict` adds those checks. SKS's npm
28
+ release workflow requires its own current test and artifact evidence in either
29
+ profile. See [verification profiles](docs/essential-trust.md).
25
30
 
26
31
  ## SKS Center — one place for your Codex setup
27
32
 
@@ -50,7 +55,7 @@ After installing SKS, install or rebuild the macOS app with:
50
55
  sks menubar install
51
56
  ```
52
57
 
53
- Interactive macOS installs can build it automatically. Dependency, CI, and
58
+ Interactive global macOS installs can build it automatically. Dependency, CI, and
54
59
  piped installs skip the menu bar setup; scripts can opt in with
55
60
  `SKS_POSTINSTALL_MENUBAR=1` or opt out with `SKS_POSTINSTALL_NO_MENUBAR=1`.
56
61
  See [connection setup](docs/codex-lb.md), [subagent model lists](docs/naruto.md#connection-specific-subagent-lists),
@@ -62,6 +67,8 @@ and [image generation](docs/image-generation.md) for the underlying settings.
62
67
 
63
68
  - **Recommended: the latest patch release of Node.js 24 LTS.** Get it from the [official Node.js releases](https://nodejs.org/en/about/previous-releases).
64
69
  - npm, Git, and a current Codex CLI or supported Codex desktop host.
70
+ - Building SKS Center on macOS also requires Xcode Command Line Tools and Swift;
71
+ the installer reports `xcode-select --install` if the tools are missing.
65
72
  - For source development and tests, see the locked dependency compatibility ranges in [Contributing](CONTRIBUTING.md#local-setup). CI uses the 24.x line.
66
73
 
67
74
  The published CLI's declared `package.json` engine floor is still `>=20.11`.
@@ -89,9 +96,10 @@ runs Doctor, and checks that `sks` on `PATH` resolves to the installed version:
89
96
  npm exec --yes --package=sneakoscope@latest -- sneakoscope install --yes
90
97
  ```
91
98
 
92
- ### Enable SKS for a project
99
+ ### Add project context
93
100
 
94
- From the root of each project you want SKS to understand:
101
+ Global SKS hooks and skills apply across projects. From a project root, create
102
+ its local context and ignore rules with:
95
103
 
96
104
  ```sh
97
105
  sks bootstrap
@@ -107,9 +115,10 @@ Fix the failing test and verify the changed behavior.
107
115
  $sks-review
108
116
  ```
109
117
 
110
- `sks bootstrap` adds project-local SKS context and ignore rules. Ordinary work
111
- stays with the main agent; choose `$sks-naruto` or `$sks-work` when you want
112
- parallel child work.
118
+ `sks bootstrap` initializes the project's SKS files. `$sks-align` builds the
119
+ source index and refreshes managed guidance. Choose `$sks-naruto` or `$sks-work`
120
+ when you explicitly want child agents; enabled Jev can also select parallel
121
+ work when it judges that the task has independent parts.
113
122
 
114
123
  ## Update an existing installation
115
124
 
@@ -136,7 +145,8 @@ requesting a newer package, run `sks doctor --fix` yourself in the terminal.
136
145
  | --- | --- |
137
146
  | Keep work focused | Answers, tiny edits, ordinary implementation, reviews, and DB work run directly in the main agent. Naruto delegates through official Codex subagents when explicitly requested or selected by Jev. |
138
147
  | Keep context bounded | TriWiki indexes repository code into context that can be checked against source. |
139
- | Know what actually ran | Tests, diagnostics, and release evidence are recorded for completion claims. |
148
+ | Reuse project memory | Opt-in Jev intake stages mission candidates; explicit promotion validates durable records separately from the code index. |
149
+ | Know what actually ran | Diagnostics report measured checks; release gates bind tests and package evidence to the candidate commit. |
140
150
  | Recover safely | Doctor and update flows report a concrete recovery action when a check needs attention. |
141
151
  | Operate locally | The CLI works without a hosted control plane; macOS users can also use SKS Center. |
142
152
 
@@ -145,6 +155,20 @@ references and rebuilds TriWiki. Update and user-run `sks doctor --fix` share
145
155
  that maintenance and repair known ignored configuration settings. User text
146
156
  and model choices are preserved. See [harness maintenance](docs/align-modernization.md).
147
157
 
158
+ ### New in 10.5.7
159
+
160
+ - **Jev execution profiles:** a decision can propose a bounded execution plan.
161
+ The default policy is `baseline`; fast profiles require `optimize` and an
162
+ explicit profile list. Required safety and mutation stages stay code-owned.
163
+ - **TriWiki memory:** eligible mission candidates can be staged and explicitly
164
+ promoted into durable records after provenance, scope, lifecycle, and
165
+ evidence checks. Intake and promotion are separate opt-ins.
166
+ - **Reliable index refresh:** align preserves canonical memory, and rebuilding
167
+ the generated memory indexes no longer makes a freshly aligned graph stale.
168
+
169
+ These are implementation and validation results, not a measured speed or model
170
+ quality improvement. See the [Jev and memory guide](docs/jev-triwiki-memory.md).
171
+
148
172
  ## Everyday commands
149
173
 
150
174
  ### Core dollar commands
@@ -211,10 +235,40 @@ Naruto runs only when you invoke `$sks-naruto` or `$sks-work`, pass `--agents N`
211
235
  3. **Verify** — run the project checks and SKS diagnostics.
212
236
  4. **Review** — inspect the diff and the evidence before claiming completion.
213
237
 
214
- SKS keeps these steps observable. It does not turn a failed check into a success, invent test output, or silently substitute a provider.
238
+ Inspect the actual checks and their scope before relying on a result. A passing
239
+ fixture, configured integration, or successful build does not establish a live
240
+ provider result or deployment.
215
241
 
216
242
  ## Optional integrations
217
243
 
244
+ ### Jev decisions and memory
245
+
246
+ Jev is **off by default**. It requires an OpenRouter key and explicit cloud
247
+ consent. Configure the connection in SKS Center, then use **Decisions** or the
248
+ CLI to enable it:
249
+
250
+ ```sh
251
+ sks decision status --json
252
+ sks decision enable --provider openrouter --model typesafe/jev-1.13 --consent-cloud --json
253
+ ```
254
+
255
+ `status` makes no OpenRouter request. Enabling Jev permits bounded decision
256
+ requests, which may contain redacted task text and selected source excerpts;
257
+ the `baseline` execution policy and disabled memory options remain the defaults.
258
+
259
+ Advanced settings are CLI options: `--execution-policy observe` keeps baseline
260
+ execution; `--execution-policy optimize --profiles <ids>` permits selected fast
261
+ profiles when their preconditions pass. `--memory-intake` enables eligible
262
+ mission candidates; `--memory-promotion` additionally permits an explicit
263
+ `sks memory promote --mission <id> --yes` under the `optimize` policy.
264
+ User-scoped memory additionally requires `--allow-user-memory`.
265
+ Re-running `decision enable` without these flags resets them to their defaults.
266
+
267
+ Use `sks memory recall --json` to inspect available records. Disabling Jev with
268
+ `sks decision disable` stops its decision and intake paths without deleting
269
+ canonical memory. See [Jev setup](docs/jev-decisions.md) and
270
+ [memory boundaries](docs/jev-triwiki-memory.md) before enabling advanced options.
271
+
218
272
  ### Desktop Bridge
219
273
 
220
274
  The Desktop Bridge can route eligible models through Codex-LB or OpenRouter while keeping provider choice and session pins explicit:
@@ -247,6 +301,8 @@ See [Image generation](docs/image-generation.md) for provider boundaries and evi
247
301
  - [MAD-SKS](docs/mad-sks.md) — explicit permission scope, execution boundaries, and verification.
248
302
  - [Agent Bridge](docs/AGENT-BRIDGE.md) — integrate through the CLI or MCP interface.
249
303
  - [Context Graph](docs/architecture/context-graph.md) — bounded source lookup and freshness.
304
+ - [Jev decisions](docs/jev-decisions.md) — optional cloud decisions, setup, and fallback behavior.
305
+ - [Jev and TriWiki memory](docs/jev-triwiki-memory.md) — execution profiles, memory intake, explicit promotion, and bounded recall.
250
306
  - [Release readiness](docs/release-readiness.md) — build, verify, and publish a release.
251
307
  - [Release evidence](docs/release-proof-truth.md) — what each verification result proves.
252
308
  - [FAQ](docs/faq.md) — common setup questions.
@@ -257,7 +313,11 @@ See [Image generation](docs/image-generation.md) for provider boundaries and evi
257
313
 
258
314
  ### Does SKS send my source code to a hosted service?
259
315
 
260
- SKS is local-first. Provider integrations are explicit opt-in routes; inspect the provider and bridge status before using them. Do not paste credentials or private source into an issue.
316
+ TriWiki builds its code index locally. Codex sends the context needed for its
317
+ work to the configured model provider; optional Jev can send bounded, redacted
318
+ task text and selected source excerpts to OpenRouter after cloud consent.
319
+ Local indexing is not a promise that the whole session stays offline. Inspect
320
+ your provider and decision settings before using sensitive repositories.
261
321
 
262
322
  ### Why does `sks doctor` report a problem after an update?
263
323
 
@@ -279,7 +339,9 @@ The native Center is macOS-only. Run `sks menubar install` from an interactive t
279
339
 
280
340
  ### Does SKS guarantee better AI output or search visibility?
281
341
 
282
- No. SKS verifies process evidence and release claims. Model behavior and search outcomes remain separate measurements.
342
+ No. SKS checks defined safety and evidence contracts. It does not guarantee
343
+ model quality, faster execution, rankings, traffic, or correctness beyond the
344
+ checks that actually ran.
283
345
 
284
346
  For a reproducible issue, use the [bug report form](https://github.com/mandarange/Sneakoscope-Codex/issues/new?template=bug_report.yml). For a question, start a discussion or open an issue with the smallest redacted reproduction.
285
347
 
@@ -259,7 +259,7 @@ dependencies = [
259
259
 
260
260
  [[package]]
261
261
  name = "sks-core"
262
- version = "10.5.7"
262
+ version = "10.5.8"
263
263
  dependencies = [
264
264
  "globset",
265
265
  "grep-matcher",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "sks-core"
3
- version = "10.5.7"
3
+ version = "10.5.8"
4
4
  edition = "2021"
5
5
 
6
6
  [dependencies]
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schema": "sks.skills-manifest.v1",
3
- "package_version": "10.5.7",
3
+ "package_version": "10.5.8",
4
4
  "skills": [
5
5
  {
6
6
  "canonical_name": "sks",
@@ -1 +1 @@
1
- export const PACKAGE_VERSION = '10.5.7';
1
+ export const PACKAGE_VERSION = '10.5.8';
@@ -121,7 +121,7 @@ final class ControlCenterWindowController: NSWindowController, NSTableViewDataSo
121
121
  cell.spacing = 7
122
122
  cell.edgeInsets = NSEdgeInsets(top: 0, left: 6, bottom: 0, right: 0)
123
123
  cell.setAccessibilityLabel(item.displayTitle)
124
- cell.setAccessibilityIdentifier("sks-center-sidebar-\(item.rawValue.lowercased().replacingOccurrences(of: " ", with: "-"))")
124
+ cell.setAccessibilityIdentifier("sks-center-sidebar-\(NativeView.identifier(item.displayTitle))")
125
125
  return cell
126
126
  }
127
127
 
@@ -136,7 +136,7 @@ final class ControlCenterWindowController: NSWindowController, NSTableViewDataSo
136
136
  let preservedFrame = window?.frame
137
137
  contentHost.subviews.forEach { $0.removeFromSuperview() }
138
138
  guard let controller = controllers[section] else { return }
139
- controller.view.setAccessibilityIdentifier("sks-center-page-\(section.rawValue.lowercased().replacingOccurrences(of: " ", with: "-"))")
139
+ controller.view.setAccessibilityIdentifier("sks-center-page-\(NativeView.identifier(section.displayTitle))")
140
140
  let page = NativeView.scrollable(controller.view)
141
141
  contentHost.addSubview(page)
142
142
  NSLayoutConstraint.activate([
@@ -29,7 +29,7 @@ final class NativeDisclosure: NSStackView {
29
29
  toggle.target = self
30
30
  toggle.action = #selector(toggleExpanded)
31
31
  toggle.setAccessibilityLabel(title)
32
- toggle.setAccessibilityIdentifier("sks-disclosure-" + title.lowercased().replacingOccurrences(of: " ", with: "-"))
32
+ toggle.setAccessibilityIdentifier("sks-disclosure-" + NativeView.identifier(title))
33
33
  body.orientation = .vertical
34
34
  body.alignment = .width
35
35
  body.spacing = 12
@@ -219,7 +219,9 @@ enum NativeView {
219
219
  return String(compact.prefix(limit)) + "…"
220
220
  }
221
221
 
222
- private static func identifier(_ value: String) -> String {
222
+ /// Canonicalizes user-facing labels for stable, punctuation-safe UI test selectors.
223
+ /// Keep this shared across every Control Center surface that exposes an identifier.
224
+ static func identifier(_ value: String) -> String {
223
225
  value.lowercased()
224
226
  .components(separatedBy: CharacterSet.alphanumerics.inverted)
225
227
  .filter { !$0.isEmpty }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "sneakoscope",
3
3
  "displayName": "ㅅㅋㅅ",
4
- "version": "10.5.7",
4
+ "version": "10.5.8",
5
5
  "description": "Sneakoscope Codex (`sks`) is an open-source trust layer for Codex CLI and ChatGPT Desktop. It coordinates bounded AI coding agents, records machine-verifiable evidence, preserves project memory, and blocks release claims that are not supported by current tests or artifacts. Search visibility outcomes are measured separately; SKS does not promise rankings or traffic.",
6
6
  "type": "module",
7
7
  "homepage": "https://github.com/mandarange/Sneakoscope-Codex#readme",