arkaos 2.46.2 → 2.47.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 CHANGED
@@ -464,8 +464,10 @@ npx arkaos uninstall # Remove ArkaOS
464
464
 
465
465
  ```
466
466
  /arka update # Sync all project configs after core update
467
- /arka status # System health + LLM costs (24h)
467
+ /arka status # System health + LLM costs + Enforcement + Reorganization (24h)
468
468
  /arka costs [today|week|month|all|sessions] # LLM cost visibility
469
+ /arka enforcement [today|week|month|all] # Flow-marker compliance (v2.41.0)
470
+ /arka reorganize [--since-days N] # KB → agent proposal markdown (v2.42.0)
469
471
  /arka index # (Re)index Obsidian vault into vector store
470
472
  /arka search <query> # Semantic search in knowledge base
471
473
  /arka standup # Daily standup (projects, blockers, updates)
@@ -474,13 +476,24 @@ npx arkaos uninstall # Remove ArkaOS
474
476
  /do <description> # Universal routing — natural language to department
475
477
  ```
476
478
 
479
+ **Release pipeline (operator-side, headless):**
480
+
481
+ ```
482
+ python -m core.release.preflight_cli --expected-npm-user <user>
483
+ # Step 0 NON-NEGOTIABLE before any tag/push/publish (v2.43.0+).
484
+ # Six checks: version-alignment / npm-auth / npm-publish-capability /
485
+ # gh-auth / git-remote / git-clean. Plus no-client-name-leaks
486
+ # (v2.44.0+, BLOCKING since v2.45.0).
487
+ # Exit 1 = STOP, fix every remediation, re-run.
488
+ ```
489
+
477
490
  Department commands: `/dev`, `/mkt`, `/brand`, `/fin`, `/strat`, `/ecom`, `/kb`, `/ops`, `/pm`, `/saas`, `/landing`, `/content`, `/community`, `/sales`, `/lead`, `/org`.
478
491
 
479
492
  ---
480
493
 
481
494
  ## Contributing
482
495
 
483
- See [CONTRIBUTING.md](.github/CONTRIBUTING.md). PRs welcome — all changes require passing the full test suite (3,025 tests) and Quality Gate review.
496
+ See [CONTRIBUTING.md](.github/CONTRIBUTING.md). PRs welcome — all changes require passing the full test suite (3,473+ tests as of v2.46.x) and Quality Gate review (Marta CQO + Eduardo Copy + Francisca Tech, all Opus).
484
497
 
485
498
  ## License
486
499
 
package/VERSION CHANGED
@@ -1 +1 @@
1
- 2.46.2
1
+ 2.47.0
@@ -295,6 +295,22 @@ export async function install({ runtime, path, force, skipSystem, withOllama })
295
295
  console.log(` Warning: could not seed config.json (${err.message})`);
296
296
  }
297
297
 
298
+ // PR28 v2.47.0 — scaffold the user-mutable files the discipline-arc
299
+ // commands depend on: redaction-clients.json (leak scanner config)
300
+ // and reorganize-proposals/ (daily proposal output). Idempotent.
301
+ try {
302
+ const { scaffoldArkaosUserData } = await import("./user-data-scaffold.js");
303
+ const scaffoldResult = scaffoldArkaosUserData({ home: homedir() });
304
+ if (scaffoldResult.redaction.action === "created") {
305
+ console.log(` redaction-clients.json scaffolded (empty list — populate to enable leak scanner).`);
306
+ }
307
+ if (scaffoldResult.proposals.action === "created") {
308
+ console.log(` reorganize-proposals/ directory created.`);
309
+ }
310
+ } catch (err) {
311
+ console.log(` Warning: could not scaffold user-data (${err.message})`);
312
+ }
313
+
298
314
  const manifest = {
299
315
  version: VERSION,
300
316
  runtime,
@@ -0,0 +1,59 @@
1
+ // ~/.arkaos user-data scaffolding (PR28 v2.47.0).
2
+ //
3
+ // Run on every `npx arkaos install` and `npx arkaos@latest update`.
4
+ // Ensures the operator-mutable files and directories that the
5
+ // discipline-arc commands depend on exist:
6
+ //
7
+ // - ~/.arkaos/redaction-clients.json (leak scanner config)
8
+ // - ~/.arkaos/reorganize-proposals/ (daily reorganizer output)
9
+ //
10
+ // Idempotent: never overwrites operator-authored content. On fresh
11
+ // installs, the redaction config is created with an empty `clients`
12
+ // list plus a `_doc` field explaining how to populate it.
13
+ //
14
+ // Returns a status object with one entry per scaffolded resource so
15
+ // the installer caller can log a human-readable line per run.
16
+
17
+ import {
18
+ existsSync, mkdirSync, writeFileSync, renameSync,
19
+ } from "node:fs";
20
+ import { homedir } from "node:os";
21
+ import { join, dirname } from "node:path";
22
+
23
+ const REDACTION_TEMPLATE = {
24
+ _doc: (
25
+ "Add real client/project identifiers (lowercase) to enable the leak "
26
+ + "scanner. Empty `clients` list = scanner is a no-op (no false "
27
+ + "positives in CI). See core/governance/leak_scanner.py."
28
+ ),
29
+ clients: [],
30
+ };
31
+
32
+ export function scaffoldArkaosUserData({ home = homedir() } = {}) {
33
+ return {
34
+ redaction: scaffoldRedactionConfig(home),
35
+ proposals: scaffoldProposalsDir(home),
36
+ };
37
+ }
38
+
39
+ function scaffoldRedactionConfig(home) {
40
+ const path = join(home, ".arkaos", "redaction-clients.json");
41
+ if (existsSync(path)) {
42
+ return { action: "preserved", path };
43
+ }
44
+ mkdirSync(dirname(path), { recursive: true });
45
+ // Atomic write: tmp + rename, matches config-seed.js convention.
46
+ const tmp = `${path}.tmp-${process.pid}`;
47
+ writeFileSync(tmp, JSON.stringify(REDACTION_TEMPLATE, null, 2) + "\n");
48
+ renameSync(tmp, path);
49
+ return { action: "created", path };
50
+ }
51
+
52
+ function scaffoldProposalsDir(home) {
53
+ const path = join(home, ".arkaos", "reorganize-proposals");
54
+ if (existsSync(path)) {
55
+ return { action: "preserved", path };
56
+ }
57
+ mkdirSync(path, { recursive: true });
58
+ return { action: "created", path };
59
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arkaos",
3
- "version": "2.46.2",
3
+ "version": "2.47.0",
4
4
  "description": "The Operating System for AI Agent Teams",
5
5
  "type": "module",
6
6
  "bin": {
package/pyproject.toml CHANGED
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "arkaos-core"
3
- version = "2.46.2"
3
+ version = "2.47.0"
4
4
  description = "Core engine for ArkaOS — The Operating System for AI Agent Teams"
5
5
  readme = "README.md"
6
6
  license = {text = "MIT"}