avorelo 0.1.0 → 0.3.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/LICENSE +23 -16
- package/README.md +90 -51
- package/bin/avorelo.mjs +7 -0
- package/dist/avorelo.mjs +19741 -0
- package/package.json +135 -120
- package/bin/avorelo +0 -9
- package/scripts/README.md +0 -40
- package/scripts/cco-dashboard.js +0 -252
- package/scripts/cco-status.js +0 -430
- package/scripts/lib/activation/account-state.js +0 -37
- package/scripts/lib/activation/activation-runner.js +0 -546
- package/scripts/lib/activation/activation-self-healing.js +0 -480
- package/scripts/lib/activation/activation-state.js +0 -83
- package/scripts/lib/activation/activation-summary.js +0 -191
- package/scripts/lib/activation/adapters/claude-code.js +0 -77
- package/scripts/lib/activation/adapters/codex-cli.js +0 -52
- package/scripts/lib/activation/adapters/cursor.js +0 -37
- package/scripts/lib/activation/adapters/github-agent.js +0 -39
- package/scripts/lib/activation/adapters/terminal.js +0 -42
- package/scripts/lib/activation/adapters/vscode.js +0 -39
- package/scripts/lib/activation/adapters/windsurf.js +0 -37
- package/scripts/lib/activation/ai-surface-detector.js +0 -151
- package/scripts/lib/activation/connect-account.js +0 -145
- package/scripts/lib/activation/detect-environment.js +0 -75
- package/scripts/lib/activation/detect-hosts.js +0 -62
- package/scripts/lib/activation/format-activation-output.js +0 -109
- package/scripts/lib/activation/next-action.js +0 -43
- package/scripts/lib/activation/repair-engine.js +0 -219
- package/scripts/lib/activation-distribution-readiness.js +0 -507
- package/scripts/lib/adapter-conformance.js +0 -176
- package/scripts/lib/adapter-readiness.js +0 -417
- package/scripts/lib/adapter-safety-boundaries.js +0 -335
- package/scripts/lib/adapter-technical-readiness-gate.js +0 -205
- package/scripts/lib/agent-access-governance.js +0 -455
- package/scripts/lib/agent-enforcement.js +0 -765
- package/scripts/lib/agent-policy-profile.js +0 -210
- package/scripts/lib/agent-security/action-evaluator.js +0 -507
- package/scripts/lib/agent-security/adapter-registry.js +0 -98
- package/scripts/lib/agent-security/auto-policy.js +0 -139
- package/scripts/lib/agent-security/bounded-scan.js +0 -93
- package/scripts/lib/agent-security/enforcement-adapter.js +0 -174
- package/scripts/lib/agent-security/enforcement-engine.js +0 -1129
- package/scripts/lib/agent-security/file-write-adapter.js +0 -183
- package/scripts/lib/agent-security/file-write-rules.js +0 -178
- package/scripts/lib/agent-security/index.js +0 -3342
- package/scripts/lib/agent-security/instruction-risk.js +0 -181
- package/scripts/lib/agent-security/mcp-action-adapter.js +0 -185
- package/scripts/lib/agent-security/mcp-action-rules.js +0 -184
- package/scripts/lib/agent-security/package-action-adapter.js +0 -175
- package/scripts/lib/agent-security/package-action-rules.js +0 -233
- package/scripts/lib/agent-security/performance.js +0 -148
- package/scripts/lib/agent-security/permission-minimizer.js +0 -403
- package/scripts/lib/agent-security/scan-cache.js +0 -74
- package/scripts/lib/agent-security/source-trust.js +0 -146
- package/scripts/lib/ai-install-prompt.js +0 -288
- package/scripts/lib/ai-workspace-hygiene.js +0 -1499
- package/scripts/lib/alpha-activation.js +0 -520
- package/scripts/lib/alpha-feedback.js +0 -263
- package/scripts/lib/alpha-readiness-gate.js +0 -332
- package/scripts/lib/anti-gaming.js +0 -169
- package/scripts/lib/artifact-health.js +0 -431
- package/scripts/lib/attribution.js +0 -180
- package/scripts/lib/audit.js +0 -289
- package/scripts/lib/avorelo-skill-registry.js +0 -810
- package/scripts/lib/batch-jobs.js +0 -71
- package/scripts/lib/brain-pack.js +0 -578
- package/scripts/lib/brand-boundary.js +0 -424
- package/scripts/lib/brand.js +0 -74
- package/scripts/lib/browser-capability.js +0 -1048
- package/scripts/lib/browser-proof-preflight.js +0 -321
- package/scripts/lib/cache-readiness.js +0 -187
- package/scripts/lib/canonical-reentry.js +0 -162
- package/scripts/lib/capability-packs.js +0 -314
- package/scripts/lib/capability-recommender.js +0 -512
- package/scripts/lib/capability-registry.js +0 -1059
- package/scripts/lib/carry-forward-surfacing.js +0 -194
- package/scripts/lib/ccusage-adapter.js +0 -188
- package/scripts/lib/company-loop.js +0 -1149
- package/scripts/lib/config.js +0 -637
- package/scripts/lib/context-acquisition-plan.js +0 -287
- package/scripts/lib/context-budget-guard.js +0 -170
- package/scripts/lib/context-budget-scanner.js +0 -257
- package/scripts/lib/context-optimizer.js +0 -715
- package/scripts/lib/context-reduction-plan.js +0 -178
- package/scripts/lib/context-safety.js +0 -88
- package/scripts/lib/context-savings-engine.js +0 -158
- package/scripts/lib/cost-evidence.js +0 -254
- package/scripts/lib/cross-host-install-plan.js +0 -308
- package/scripts/lib/cross-host-install-readiness.js +0 -237
- package/scripts/lib/cross-host-value-flow.js +0 -268
- package/scripts/lib/dashboard.js +0 -900
- package/scripts/lib/design-partner-feedback.js +0 -346
- package/scripts/lib/entitlements.js +0 -100
- package/scripts/lib/execution-packet.js +0 -559
- package/scripts/lib/experimentation-events.js +0 -547
- package/scripts/lib/external-capability-compliance.js +0 -107
- package/scripts/lib/external-user-simulation.js +0 -166
- package/scripts/lib/failure-recovery-readiness.js +0 -81
- package/scripts/lib/failure-recovery.js +0 -419
- package/scripts/lib/feedback-intelligence.js +0 -537
- package/scripts/lib/feedback-signals.js +0 -205
- package/scripts/lib/file-integrity.js +0 -68
- package/scripts/lib/fsx.js +0 -127
- package/scripts/lib/full-readiness-gate.js +0 -451
- package/scripts/lib/guidance-builder.js +0 -174
- package/scripts/lib/hook-apply.js +0 -1019
- package/scripts/lib/hook-baseline.js +0 -310
- package/scripts/lib/hook-config-preview.js +0 -275
- package/scripts/lib/hook-contracts.js +0 -290
- package/scripts/lib/hook-safety-boundary-readiness.js +0 -80
- package/scripts/lib/host-capability-matrix.js +0 -351
- package/scripts/lib/host-support-context.js +0 -254
- package/scripts/lib/http-hook-action.js +0 -538
- package/scripts/lib/install-ai-readiness.js +0 -84
- package/scripts/lib/install-intake-risk.js +0 -1037
- package/scripts/lib/install-journey-intelligence.js +0 -329
- package/scripts/lib/intervention-guidance.js +0 -57
- package/scripts/lib/known-limitations.js +0 -115
- package/scripts/lib/l8-path-truth.js +0 -146
- package/scripts/lib/launch-hardening-gate.js +0 -436
- package/scripts/lib/launch-readiness.js +0 -628
- package/scripts/lib/learning-memory.js +0 -686
- package/scripts/lib/lifecycle-hooks.js +0 -802
- package/scripts/lib/local-package-smoke.js +0 -423
- package/scripts/lib/local-pricing.js +0 -299
- package/scripts/lib/mcp-enforcement.js +0 -311
- package/scripts/lib/mcp-least-privilege-policy.js +0 -303
- package/scripts/lib/mcp-tool-inventory.js +0 -388
- package/scripts/lib/mcp-tool-risk.js +0 -0
- package/scripts/lib/memory.js +0 -335
- package/scripts/lib/metrics.js +0 -699
- package/scripts/lib/micro-proof.js +0 -133
- package/scripts/lib/next-run-context.js +0 -436
- package/scripts/lib/operating-value.js +0 -1648
- package/scripts/lib/optimization-v3.js +0 -122
- package/scripts/lib/orchestration/adapters/_shared.js +0 -49
- package/scripts/lib/orchestration/adapters/aider.js +0 -18
- package/scripts/lib/orchestration/adapters/claude-code.js +0 -35
- package/scripts/lib/orchestration/adapters/codex.js +0 -35
- package/scripts/lib/orchestration/adapters/gemini-cli.js +0 -18
- package/scripts/lib/orchestration/adapters/git.js +0 -25
- package/scripts/lib/orchestration/adapters/index.js +0 -31
- package/scripts/lib/orchestration/adapters/lm-studio.js +0 -18
- package/scripts/lib/orchestration/adapters/ollama.js +0 -18
- package/scripts/lib/orchestration/adapters/opencode.js +0 -18
- package/scripts/lib/orchestration/adapters/openrouter.js +0 -18
- package/scripts/lib/orchestration/adapters/test-runner.js +0 -25
- package/scripts/lib/orchestration/cli.js +0 -438
- package/scripts/lib/orchestration/execution-manager.js +0 -279
- package/scripts/lib/orchestration/handoff.js +0 -314
- package/scripts/lib/orchestration/index.js +0 -456
- package/scripts/lib/orchestration/inventory.js +0 -47
- package/scripts/lib/orchestration/model-discovery.js +0 -498
- package/scripts/lib/orchestration/model-profiler.js +0 -170
- package/scripts/lib/orchestration/model-profiles.js +0 -252
- package/scripts/lib/orchestration/model-refresh-policy.js +0 -72
- package/scripts/lib/orchestration/proof-writer.js +0 -349
- package/scripts/lib/orchestration/provider-discovery/aider.js +0 -49
- package/scripts/lib/orchestration/provider-discovery/claude-code.js +0 -56
- package/scripts/lib/orchestration/provider-discovery/codex.js +0 -49
- package/scripts/lib/orchestration/provider-discovery/common.js +0 -186
- package/scripts/lib/orchestration/provider-discovery/gemini.js +0 -106
- package/scripts/lib/orchestration/provider-discovery/lm-studio.js +0 -118
- package/scripts/lib/orchestration/provider-discovery/models-dev.js +0 -12
- package/scripts/lib/orchestration/provider-discovery/ollama.js +0 -100
- package/scripts/lib/orchestration/provider-discovery/opencode.js +0 -47
- package/scripts/lib/orchestration/provider-discovery/openrouter.js +0 -44
- package/scripts/lib/orchestration/risk-classifier.js +0 -130
- package/scripts/lib/orchestration/routing-policy.js +0 -486
- package/scripts/lib/orchestration/settings.js +0 -112
- package/scripts/lib/orchestration/state.js +0 -165
- package/scripts/lib/orchestration/verification-manager.js +0 -138
- package/scripts/lib/output-profiles.js +0 -146
- package/scripts/lib/package-content-audit.js +0 -368
- package/scripts/lib/package-runtime.js +0 -278
- package/scripts/lib/plan-surface.js +0 -53
- package/scripts/lib/plans.js +0 -2318
- package/scripts/lib/policy-provider.js +0 -27
- package/scripts/lib/prelaunch-activation-readiness.js +0 -409
- package/scripts/lib/prelaunch-evidence-store.js +0 -816
- package/scripts/lib/prelaunch-intelligence.js +0 -869
- package/scripts/lib/pricing-experiment.js +0 -118
- package/scripts/lib/pro-moment-events.js +0 -77
- package/scripts/lib/pro-moment-state.js +0 -227
- package/scripts/lib/pro-moments.js +0 -1216
- package/scripts/lib/product-learning-events.js +0 -629
- package/scripts/lib/project-profile.js +0 -555
- package/scripts/lib/prompt-compiler.js +0 -280
- package/scripts/lib/prompt-lint.js +0 -32
- package/scripts/lib/prompt-suggestions.js +0 -52
- package/scripts/lib/proof-canonical.js +0 -398
- package/scripts/lib/proof-drilldown.js +0 -383
- package/scripts/lib/proof-events.js +0 -342
- package/scripts/lib/proof-history.js +0 -243
- package/scripts/lib/proof-metrics.js +0 -296
- package/scripts/lib/proof-outcome-evidence.js +0 -134
- package/scripts/lib/proof-receipt.js +0 -335
- package/scripts/lib/proof-record.js +0 -461
- package/scripts/lib/public-activation-distribution-gate.js +0 -258
- package/scripts/lib/public-cli.js +0 -3891
- package/scripts/lib/public-distribution-truth.js +0 -211
- package/scripts/lib/public-install-claim-checker.js +0 -294
- package/scripts/lib/publish-provenance-readiness.js +0 -283
- package/scripts/lib/readiness-delta.js +0 -218
- package/scripts/lib/readiness-evidence-closure.js +0 -196
- package/scripts/lib/reentry-memory-capture.js +0 -241
- package/scripts/lib/reentry-memory-retrieval.js +0 -302
- package/scripts/lib/reentry-memory-status.js +0 -146
- package/scripts/lib/reentry-memory-store.js +0 -178
- package/scripts/lib/reentry-state.js +0 -66
- package/scripts/lib/release-candidate-bundle.js +0 -166
- package/scripts/lib/remediation.js +0 -81
- package/scripts/lib/repo-map.js +0 -391
- package/scripts/lib/run-improvements-lifecycle.js +0 -330
- package/scripts/lib/run-improvements.js +0 -789
- package/scripts/lib/runtime-decision-policy.js +0 -387
- package/scripts/lib/safe-path-engine.js +0 -705
- package/scripts/lib/safe-run-controller.js +0 -887
- package/scripts/lib/score.js +0 -262
- package/scripts/lib/seamless-enforcement.js +0 -329
- package/scripts/lib/seamless-outcome.js +0 -689
- package/scripts/lib/seamless-reality-gate.js +0 -5043
- package/scripts/lib/security-risk-classifier.js +0 -511
- package/scripts/lib/security-scan.js +0 -384
- package/scripts/lib/session-context-optimizer.js +0 -1211
- package/scripts/lib/session-timing.js +0 -315
- package/scripts/lib/skill-hygiene.js +0 -805
- package/scripts/lib/skill-packs.js +0 -161
- package/scripts/lib/skills-operating-layer.js +0 -580
- package/scripts/lib/smart-work-routing.js +0 -768
- package/scripts/lib/source-catalog.js +0 -700
- package/scripts/lib/status-value-summary.js +0 -32
- package/scripts/lib/support-bundle.js +0 -578
- package/scripts/lib/task-continuation.js +0 -440
- package/scripts/lib/test-helpers.js +0 -15
- package/scripts/lib/tier.js +0 -38
- package/scripts/lib/token-context-quality-gate.js +0 -370
- package/scripts/lib/token-cost-capture.js +0 -187
- package/scripts/lib/token-cost-intelligence.js +0 -358
- package/scripts/lib/token-efficiency-evidence.js +0 -213
- package/scripts/lib/token-evidence.js +0 -699
- package/scripts/lib/tokenish.js +0 -17
- package/scripts/lib/tool-output-sandbox.js +0 -304
- package/scripts/lib/trust-audit.js +0 -136
- package/scripts/lib/unified-events.js +0 -396
- package/scripts/lib/upgrade-interruption-recovery.js +0 -407
- package/scripts/lib/usage-ledger.js +0 -201
- package/scripts/lib/value-ledger.js +0 -130
- package/scripts/lib/value-proof-calibration.js +0 -531
- package/scripts/lib/visual-qa.js +0 -231
- package/scripts/lib/voice-alpha.js +0 -29
- package/scripts/lib/work-aware-orchestration.js +0 -976
- package/scripts/lib/work-control-receipts.js +0 -577
- package/scripts/lib/work-ledger.js +0 -1123
- package/scripts/lib/work-panel-preview.js +0 -352
- package/scripts/lib/workflow-discipline.js +0 -280
- package/scripts/lib/workflow-signals.js +0 -419
- package/scripts/lib/workspace-map.js +0 -281
- package/scripts/lib/workspace-registry.js +0 -1367
- package/scripts/lib/workspace-resolver.js +0 -480
package/package.json
CHANGED
|
@@ -1,135 +1,150 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "avorelo",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"private": false,
|
|
5
|
-
"
|
|
6
|
-
"description": "Avorelo
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"email": "support@avorelo.com"
|
|
5
|
+
"license": "UNLICENSED",
|
|
6
|
+
"description": "Avorelo — AI Work Control. One command. Keep using your AI coding tool. Avorelo quietly keeps the work focused and saves proof.",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"engines": {
|
|
9
|
+
"node": ">=24"
|
|
11
10
|
},
|
|
12
11
|
"bin": {
|
|
13
|
-
"avorelo": "bin/avorelo"
|
|
14
|
-
},
|
|
15
|
-
"publishConfig": {
|
|
16
|
-
"access": "public"
|
|
12
|
+
"avorelo": "bin/avorelo.mjs"
|
|
17
13
|
},
|
|
18
14
|
"files": [
|
|
19
|
-
"bin/avorelo",
|
|
20
|
-
"
|
|
21
|
-
"scripts/cco-dashboard.js",
|
|
22
|
-
"scripts/lib/**/*.js",
|
|
15
|
+
"bin/avorelo.mjs",
|
|
16
|
+
"dist/avorelo.mjs",
|
|
23
17
|
"README.md",
|
|
24
18
|
"LICENSE"
|
|
25
19
|
],
|
|
26
20
|
"scripts": {
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"test:
|
|
33
|
-
"test:
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
"
|
|
70
|
-
"
|
|
71
|
-
"
|
|
72
|
-
"
|
|
73
|
-
"
|
|
74
|
-
"
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
"
|
|
78
|
-
"
|
|
79
|
-
"
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"
|
|
84
|
-
"
|
|
85
|
-
"
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
"
|
|
89
|
-
"
|
|
90
|
-
"
|
|
21
|
+
"build": "npx esbuild src/avorelo/surfaces/cli/avorelo.ts --bundle --platform=node --format=esm --outfile=dist/avorelo.mjs --target=node24 --external:better-auth --external:drizzle-orm --external:postgres --external:hono --external:@hono/node-server",
|
|
22
|
+
"prepack": "npm run build",
|
|
23
|
+
"package:check": "node -e \"const fs=require('fs');const p=require('./package.json');const ok=[];const fail=[];fs.existsSync('dist/avorelo.mjs')?ok.push('dist/avorelo.mjs exists'):fail.push('dist/avorelo.mjs missing');fs.existsSync('bin/avorelo.mjs')?ok.push('bin/avorelo.mjs exists'):fail.push('bin/avorelo.mjs missing');p.files.includes('dist/avorelo.mjs')?ok.push('dist in files'):fail.push('dist not in files');!p.files.some(f=>f.includes('.avorelo'))?ok.push('no .avorelo in files'):fail.push('.avorelo in files');!p.files.some(f=>f.includes('test'))?ok.push('no tests in files'):fail.push('tests in files');!p.files.some(f=>f.includes('artifact'))?ok.push('no artifacts in files'):fail.push('artifacts in files');console.log(JSON.stringify({ok:ok,fail:fail,pass:fail.length===0}));if(fail.length>0)process.exit(1)\"",
|
|
24
|
+
"start": "node src/avorelo/surfaces/cloud-api/server.ts",
|
|
25
|
+
"test": "npm run test:local",
|
|
26
|
+
"test:local": "node --test \"tests/*.test.ts\"",
|
|
27
|
+
"test:phase": "node --test tests/phase1-foundation.test.ts tests/secret-boundary.test.ts tests/workcontract-routing.test.ts tests/context-compiler.test.ts tests/context-check.test.ts tests/continuity.test.ts tests/token-cost-evidence.test.ts tests/proof-report.test.ts tests/value-ledger.test.ts tests/efficiency-sync.test.ts tests/canonical-readiness.test.ts tests/proof-adapter-pack.test.ts tests/context-pack.test.ts tests/multi-agent-review.test.ts tests/future-executor-adapters.test.ts tests/persistent-adapter-health.test.ts tests/cost-benchmarking.test.ts tests/team-policy.test.ts tests/task-queue.test.ts",
|
|
28
|
+
"test:integration": "node --test \"tests/*.itest.ts\"",
|
|
29
|
+
"test:surface": "node --test \"tests/*.stest.ts\"",
|
|
30
|
+
"test:all": "npm run test:local && npm run test:surface && npm run test:integration",
|
|
31
|
+
"test:full": "node --test",
|
|
32
|
+
"test:ci": "npm run build && npm run naming-check && npm run test:local && npm run dogfood:all && npm run readiness:local",
|
|
33
|
+
"readiness:local": "node src/avorelo/surfaces/cli/avorelo.ts readiness --target .",
|
|
34
|
+
"cli:local": "node src/avorelo/surfaces/cli/avorelo.ts",
|
|
35
|
+
"dogfood:all": "npm run dogfood:phase1 && npm run dogfood:secret-boundary && npm run dogfood:workcontract-routing && npm run dogfood:context-compiler && npm run dogfood:context-engineering && npm run dogfood:context-check && npm run dogfood:continuity && npm run dogfood:token-cost && npm run dogfood:proof-report && npm run dogfood:value-ledger && npm run dogfood:efficiency-sync && npm run dogfood:runtime-flow && npm run dogfood:control-center && npm run dogfood:activation && npm run dogfood:core-readiness && npm run dogfood:canonical-readiness && npm run dogfood:migration && npm run dogfood:adapter-secret-boundary && npm run dogfood:architecture-invariants && npm run dogfood:package-safety && npm run dogfood:settings && npm run dogfood:update-channel && npm run dogfood:dogfood-learning && npm run dogfood:dogfood-learning-e2e && npm run dogfood:model-routing-usage && npm run dogfood:tool-adapter-orchestration && npm run dogfood:tool-adapter-usage && npm run dogfood:avorelo-orchestration-e2e && npm run dogfood:real-tool-execution && npm run dogfood:claude-code-adapter && npm run dogfood:codex-adapter && npm run dogfood:tool-adapters:local && npm run dogfood:semgrep-adapter && npm run dogfood:playwright-proof-adapter && npm run dogfood:github-actions-proof-adapter && npm run dogfood:multi-agent-review && npm run dogfood:multi-agent-efficiency && npm run dogfood:avorelo-real-execution-e2e && npm run dogfood:generic-delegated-execution && npm run dogfood:seamless-ux && npm run dogfood:execution-verifier && npm run dogfood:skills-layer && npm run dogfood:control-router-alignment && npm run dogfood:routing-efficiency && npm run dogfood:future-executor-adapters && npm run dogfood:persistent-adapter-health && npm run dogfood:cost-benchmarking && npm run dogfood:team-policy && npm run dogfood:task-queue && npm run dogfood:roadmap-closure",
|
|
36
|
+
"dogfood": "node src/avorelo/dogfood/slice1.ts",
|
|
37
|
+
"dogfood:slice2": "node src/avorelo/dogfood/slice2.ts",
|
|
38
|
+
"dogfood:slice3": "node src/avorelo/dogfood/slice3.ts",
|
|
39
|
+
"dogfood:slice4": "node src/avorelo/dogfood/slice4.ts",
|
|
40
|
+
"dogfood:slice5": "node src/avorelo/dogfood/slice5.ts",
|
|
41
|
+
"dogfood:migration": "node src/avorelo/dogfood/migration.ts",
|
|
42
|
+
"dogfood:phase1": "node src/avorelo/dogfood/phase1-foundation.ts",
|
|
43
|
+
"dogfood:secret-boundary": "node src/avorelo/dogfood/secret-boundary.ts",
|
|
44
|
+
"dogfood:workcontract-routing": "node src/avorelo/dogfood/workcontract-routing.ts",
|
|
45
|
+
"dogfood:context-compiler": "node src/avorelo/dogfood/context-compiler.ts",
|
|
46
|
+
"dogfood:context-engineering": "node src/avorelo/dogfood/context-engineering.ts",
|
|
47
|
+
"dogfood:context-check": "node src/avorelo/dogfood/context-check.ts",
|
|
48
|
+
"dogfood:continuity": "node src/avorelo/dogfood/continuity.ts",
|
|
49
|
+
"dogfood:token-cost": "node src/avorelo/dogfood/token-cost.ts",
|
|
50
|
+
"dogfood:proof-report": "node src/avorelo/dogfood/proof-report.ts",
|
|
51
|
+
"dogfood:value-ledger": "node src/avorelo/dogfood/value-ledger.ts",
|
|
52
|
+
"dogfood:efficiency-sync": "node src/avorelo/dogfood/efficiency-sync.ts",
|
|
53
|
+
"dogfood:runtime-flow": "node src/avorelo/dogfood/runtime-flow.ts",
|
|
54
|
+
"dogfood:control-center": "node src/avorelo/dogfood/control-center.ts",
|
|
55
|
+
"dogfood:core-readiness": "node src/avorelo/dogfood/core-readiness.ts",
|
|
56
|
+
"dogfood:canonical-readiness": "node src/avorelo/dogfood/canonical-readiness.ts",
|
|
57
|
+
"dogfood:live": "node tools/live-activation-dogfood-runner.ts",
|
|
58
|
+
"dogfood:integration": "npm run dogfood:cloud-sync",
|
|
59
|
+
"dogfood:extended": "npm run dogfood:activation && npm run dogfood:billing && npm run dogfood:connected-flow && npm run dogfood:company-loop && npm run dogfood:control-router && npm run dogfood:model-routing && npm run dogfood:scanners && npm run dogfood:skill-adoption && npm run dogfood:skills-os && npm run dogfood:product-control && npm run dogfood:core && npm run dogfood:founder && npm run dogfood:slice2 && npm run dogfood:slice3 && npm run dogfood:slice4 && npm run dogfood:slice5",
|
|
60
|
+
"build:site": "node src/avorelo/surfaces/cli/avorelo.ts site --target . --out dist/site",
|
|
61
|
+
"site:preview": "node src/avorelo/surfaces/cli/avorelo.ts serve --port 3847",
|
|
62
|
+
"site:check": "node tools/site-check.ts",
|
|
63
|
+
"dogfood:core": "node src/avorelo/dogfood/core.ts",
|
|
64
|
+
"dogfood:product-control": "node src/avorelo/dogfood/product-control.ts",
|
|
65
|
+
"measure:core": "node tools/measure-core.ts",
|
|
66
|
+
"review:core": "node tools/review-core.ts",
|
|
67
|
+
"review:references": "node tools/review-references.ts",
|
|
68
|
+
"review:architecture-deep": "node tools/review-architecture-deep.ts",
|
|
69
|
+
"audit:old-core-parity": "node tools/audit-old-core-parity.ts",
|
|
70
|
+
"measure:value": "node tools/measure-value.ts",
|
|
71
|
+
"adopt:skill-batch": "node tools/adopt-skill-batch.ts",
|
|
72
|
+
"dogfood:skill-adoption": "node src/avorelo/dogfood/skill-adoption.ts",
|
|
73
|
+
"dogfood:skills-os": "node src/avorelo/dogfood/skills-os.ts",
|
|
74
|
+
"skills:registry": "node tools/skills-registry.ts",
|
|
75
|
+
"skills:route": "node tools/skills-route.ts",
|
|
76
|
+
"measure:skills-os": "node tools/measure-skills-os.ts",
|
|
77
|
+
"scanners:run": "node tools/scanners-run.ts",
|
|
78
|
+
"dogfood:scanners": "node src/avorelo/dogfood/scanners.ts",
|
|
79
|
+
"route:primitive": "node tools/route-primitive.ts",
|
|
80
|
+
"dogfood:model-routing": "node src/avorelo/dogfood/model-routing.ts",
|
|
81
|
+
"dogfood:model-routing-usage": "node src/avorelo/dogfood/model-routing-usage.ts",
|
|
82
|
+
"dogfood:kernel-model-routing": "node src/avorelo/dogfood/kernel-model-routing.ts",
|
|
83
|
+
"dogfood:control-router": "node src/avorelo/dogfood/control-router.ts",
|
|
84
|
+
"dogfood:company-loop": "node src/avorelo/dogfood/company-loop.ts",
|
|
85
|
+
"control:route": "node tools/route-primitive.ts",
|
|
86
|
+
"company-loop": "node tools/generate-founder.ts",
|
|
87
|
+
"generate:founder": "node tools/generate-founder.ts",
|
|
88
|
+
"skills:outputs": "node tools/collect-skill-outputs.ts",
|
|
89
|
+
"naming-check": "node tools/naming-check.ts",
|
|
90
|
+
"avorelo": "node src/avorelo/surfaces/cli/avorelo.ts",
|
|
91
|
+
"activate": "node src/avorelo/surfaces/cli/avorelo.ts activate",
|
|
92
|
+
"activation:status": "node src/avorelo/surfaces/cli/avorelo.ts status",
|
|
93
|
+
"activation:verify": "node src/avorelo/surfaces/cli/avorelo.ts verify",
|
|
94
|
+
"billing:status": "node -e \"const{buildBillingState}=require('./src/avorelo/capabilities/billing/index.ts');console.log(JSON.stringify(buildBillingState(),null,2))\"",
|
|
95
|
+
"dogfood:settings": "node src/avorelo/dogfood/settings.ts",
|
|
96
|
+
"dogfood:update-channel": "node src/avorelo/dogfood/update-channel.ts",
|
|
97
|
+
"dogfood:dogfood-learning": "node src/avorelo/dogfood/dogfood-learning.ts",
|
|
98
|
+
"dogfood:dogfood-learning-e2e": "node src/avorelo/dogfood/dogfood-learning-e2e.ts",
|
|
99
|
+
"dogfood:cloud-sync": "node src/avorelo/dogfood/cloud-sync.ts",
|
|
100
|
+
"dogfood:activation": "node src/avorelo/dogfood/activation.ts",
|
|
101
|
+
"dogfood:connected-flow": "node src/avorelo/dogfood/connected-flow.ts",
|
|
102
|
+
"dogfood:founder": "node src/avorelo/dogfood/founder.ts",
|
|
103
|
+
"dogfood:billing": "node src/avorelo/dogfood/billing.ts",
|
|
104
|
+
"webhook:serve": "node src/avorelo/surfaces/cli/avorelo.ts webhook",
|
|
105
|
+
"cloud:dev": "node src/avorelo/surfaces/cloud-api/server.ts",
|
|
106
|
+
"db:generate": "npx drizzle-kit generate",
|
|
107
|
+
"db:migrate": "npx drizzle-kit migrate",
|
|
108
|
+
"db:studio": "npx drizzle-kit studio",
|
|
109
|
+
"connected-preview:check": "node tools/connected-preview-check.ts",
|
|
110
|
+
"dogfood:adapter-secret-boundary": "node src/avorelo/dogfood/adapter-secret-boundary.ts",
|
|
111
|
+
"dogfood:architecture-invariants": "node src/avorelo/dogfood/architecture-invariants.ts",
|
|
112
|
+
"dogfood:package-safety": "node src/avorelo/dogfood/package-safety.ts",
|
|
113
|
+
"dogfood:tool-adapter-orchestration": "node src/avorelo/dogfood/tool-adapter-orchestration.ts",
|
|
114
|
+
"dogfood:tool-adapter-usage": "node src/avorelo/dogfood/tool-adapter-usage.ts",
|
|
115
|
+
"dogfood:avorelo-orchestration-e2e": "node src/avorelo/dogfood/avorelo-orchestration-e2e.ts",
|
|
116
|
+
"evaluate:routing": "node tools/evaluate-routing-fixtures.ts",
|
|
117
|
+
"dogfood:real-tool-execution": "node src/avorelo/dogfood/real-tool-execution.ts",
|
|
118
|
+
"dogfood:claude-code-adapter": "node src/avorelo/dogfood/claude-code-adapter.ts",
|
|
119
|
+
"dogfood:codex-adapter": "node src/avorelo/dogfood/codex-adapter.ts",
|
|
120
|
+
"dogfood:tool-adapters:local": "node src/avorelo/dogfood/tool-adapters-local.ts",
|
|
121
|
+
"dogfood:semgrep-adapter": "node src/avorelo/dogfood/semgrep-adapter.ts",
|
|
122
|
+
"dogfood:playwright-proof-adapter": "node src/avorelo/dogfood/playwright-proof-adapter.ts",
|
|
123
|
+
"dogfood:github-actions-proof-adapter": "node src/avorelo/dogfood/github-actions-proof-adapter.ts",
|
|
124
|
+
"dogfood:multi-agent-review": "node src/avorelo/dogfood/multi-agent-review.ts",
|
|
125
|
+
"dogfood:multi-agent-efficiency": "node src/avorelo/dogfood/multi-agent-efficiency.ts",
|
|
126
|
+
"dogfood:avorelo-real-execution-e2e": "node src/avorelo/dogfood/avorelo-real-execution-e2e.ts",
|
|
127
|
+
"dogfood:generic-delegated-execution": "node src/avorelo/dogfood/generic-delegated-execution.ts",
|
|
128
|
+
"dogfood:seamless-ux": "node src/avorelo/dogfood/seamless-ux.ts",
|
|
129
|
+
"dogfood:execution-verifier": "node src/avorelo/dogfood/execution-verifier.ts",
|
|
130
|
+
"dogfood:skills-layer": "node src/avorelo/dogfood/skills-layer.ts",
|
|
131
|
+
"dogfood:control-router-alignment": "node src/avorelo/dogfood/control-router-alignment.ts",
|
|
132
|
+
"dogfood:routing-efficiency": "node src/avorelo/dogfood/routing-efficiency.ts",
|
|
133
|
+
"dogfood:future-executor-adapters": "node src/avorelo/dogfood/future-executor-adapters.ts",
|
|
134
|
+
"dogfood:persistent-adapter-health": "node src/avorelo/dogfood/persistent-adapter-health.ts",
|
|
135
|
+
"dogfood:cost-benchmarking": "node src/avorelo/dogfood/cost-benchmarking.ts",
|
|
136
|
+
"dogfood:team-policy": "node src/avorelo/dogfood/team-policy.ts",
|
|
137
|
+
"dogfood:task-queue": "node src/avorelo/dogfood/task-queue.ts",
|
|
138
|
+
"dogfood:roadmap-closure": "node src/avorelo/dogfood/roadmap-closure.ts"
|
|
139
|
+
},
|
|
140
|
+
"dependencies": {
|
|
141
|
+
"@hono/node-server": "^2.0.4",
|
|
142
|
+
"better-auth": "^1.6.15",
|
|
143
|
+
"drizzle-orm": "^0.45.2",
|
|
144
|
+
"hono": "^4.12.25",
|
|
145
|
+
"postgres": "^3.4.9"
|
|
91
146
|
},
|
|
92
|
-
"dependencies": {},
|
|
93
147
|
"devDependencies": {
|
|
94
|
-
"
|
|
95
|
-
"@growthbook/growthbook-react": "^1.6.5",
|
|
96
|
-
"@faker-js/faker": "8.3.1",
|
|
97
|
-
"@hookform/resolvers": "^5.1.1",
|
|
98
|
-
"@radix-ui/react-accordion": "^1.2.11",
|
|
99
|
-
"@radix-ui/react-avatar": "^1.1.10",
|
|
100
|
-
"@radix-ui/react-checkbox": "^1.3.2",
|
|
101
|
-
"@radix-ui/react-dialog": "^1.1.14",
|
|
102
|
-
"@radix-ui/react-dropdown-menu": "^2.1.15",
|
|
103
|
-
"@radix-ui/react-label": "^2.1.7",
|
|
104
|
-
"@radix-ui/react-progress": "^1.1.7",
|
|
105
|
-
"@radix-ui/react-select": "^2.2.5",
|
|
106
|
-
"@radix-ui/react-separator": "^1.1.7",
|
|
107
|
-
"@radix-ui/react-slot": "^1.2.3",
|
|
108
|
-
"@radix-ui/react-switch": "^1.2.5",
|
|
109
|
-
"@radix-ui/react-toast": "^1.2.14",
|
|
110
|
-
"@tailwindcss/forms": "^0.5.11",
|
|
111
|
-
"@tailwindcss/typography": "^0.5.19",
|
|
112
|
-
"@tailwindcss/vite": "^4.1.18",
|
|
113
|
-
"@types/express": "^5.0.0",
|
|
114
|
-
"@types/node": "^24.5.2",
|
|
115
|
-
"@types/react": "^19.2.7",
|
|
116
|
-
"class-variance-authority": "^0.7.1",
|
|
117
|
-
"clsx": "^2.1.1",
|
|
118
|
-
"gpt-tokenizer": "^2.8.1",
|
|
119
|
-
"lucide-react": "^0.525.0",
|
|
120
|
-
"prettier": "3.1.1",
|
|
121
|
-
"prettier-plugin-tailwindcss": "^0.7.2",
|
|
122
|
-
"prisma": "5.19.1",
|
|
123
|
-
"react": "^19.2.1",
|
|
124
|
-
"react-dom": "^19.2.1",
|
|
125
|
-
"react-hook-form": "^7.60.0",
|
|
126
|
-
"react-router": "^7.12.0",
|
|
127
|
-
"tailwind-merge": "^2.2.1",
|
|
128
|
-
"tailwindcss": "^4.1.18",
|
|
129
|
-
"tailwindcss-animate": "^1.0.7",
|
|
130
|
-
"typescript": "^5.8.2",
|
|
131
|
-
"vite": "^7.0.6",
|
|
132
|
-
"vitest": "^4.1.2",
|
|
133
|
-
"zod": "^4.3.6"
|
|
148
|
+
"drizzle-kit": "^0.31.10"
|
|
134
149
|
}
|
|
135
150
|
}
|
package/bin/avorelo
DELETED
package/scripts/README.md
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
# Scripts Surface Status
|
|
2
|
-
|
|
3
|
-
`scripts/` contains multiple classes of surfaces. They are not all equally central.
|
|
4
|
-
|
|
5
|
-
## Core runtime entrypoints
|
|
6
|
-
- `cco-session-start.js`
|
|
7
|
-
- `cco-pretooluse.js`
|
|
8
|
-
- `cco-posttooluse.js`
|
|
9
|
-
- `cco-sessionend.js`
|
|
10
|
-
|
|
11
|
-
These define the central Wuz runtime intervention and guided recovery loop.
|
|
12
|
-
|
|
13
|
-
## Supporting operator surfaces
|
|
14
|
-
- `cco-status.js`
|
|
15
|
-
- `cco-audit.js`
|
|
16
|
-
- `cco-optimize` equivalent command surfaces
|
|
17
|
-
- `cco-settings.js`
|
|
18
|
-
- `cco-init.js`
|
|
19
|
-
|
|
20
|
-
These support the product, but they do not replace the runtime center.
|
|
21
|
-
|
|
22
|
-
## Optional overlays or experiments
|
|
23
|
-
- panel
|
|
24
|
-
- cloud sync
|
|
25
|
-
- batch
|
|
26
|
-
- voice
|
|
27
|
-
- broader validation or experiment scripts
|
|
28
|
-
|
|
29
|
-
These may remain useful, but they must not redefine the product identity.
|
|
30
|
-
|
|
31
|
-
## Internal or breadth surfaces
|
|
32
|
-
- intel-related scripts
|
|
33
|
-
- broad validation scaffolding
|
|
34
|
-
- experimental workflow scripts
|
|
35
|
-
|
|
36
|
-
These should be treated as supporting infrastructure, not as product center.
|
|
37
|
-
|
|
38
|
-
Canonical references:
|
|
39
|
-
- `../docs/Wuz-Canonical-Runtime-Model.md`
|
|
40
|
-
- `../docs/Wuz-Surface-Taxonomy.md`
|
package/scripts/cco-dashboard.js
DELETED
|
@@ -1,252 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
const { buildStatusDashboard, buildEffectivenessScorecard } = require("./lib/dashboard");
|
|
4
|
-
const { buildPlanSurface } = require("./lib/plan-surface");
|
|
5
|
-
const { normalizeDashboardForPlatform, normalizePlatform } = require("./lib/adapter-conformance");
|
|
6
|
-
const {
|
|
7
|
-
buildCompactProMomentLines,
|
|
8
|
-
buildProMomentSurface,
|
|
9
|
-
recordProMomentEvaluation,
|
|
10
|
-
} = require("./lib/pro-moments");
|
|
11
|
-
|
|
12
|
-
function optionalRequire(modulePath, fallback) {
|
|
13
|
-
try {
|
|
14
|
-
return require(modulePath);
|
|
15
|
-
} catch {
|
|
16
|
-
return fallback;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
const { ValueLedger, buildValueLedgerSummary } = optionalRequire("./lib/value-ledger", {
|
|
21
|
-
ValueLedger: class {
|
|
22
|
-
loadAll() {
|
|
23
|
-
return [];
|
|
24
|
-
}
|
|
25
|
-
},
|
|
26
|
-
buildValueLedgerSummary: () => null,
|
|
27
|
-
});
|
|
28
|
-
const { buildActivationSummary, formatActivationStatusLine } = optionalRequire("./lib/activation/activation-summary", {
|
|
29
|
-
buildActivationSummary: () => null,
|
|
30
|
-
formatActivationStatusLine: () => "Activation: local status surface unavailable",
|
|
31
|
-
});
|
|
32
|
-
const { readWorkspaceMap } = optionalRequire("./lib/workspace-map", {
|
|
33
|
-
readWorkspaceMap: () => null,
|
|
34
|
-
});
|
|
35
|
-
const { summarizeLatestLearningSignals } = optionalRequire("./lib/product-learning-events", {
|
|
36
|
-
summarizeLatestLearningSignals: () => null,
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
const args = process.argv.slice(2);
|
|
40
|
-
const JSON_MODE = args.includes("--json");
|
|
41
|
-
const TEXT_MODE = !JSON_MODE;
|
|
42
|
-
|
|
43
|
-
function readPlatformArg(argv) {
|
|
44
|
-
const arg = argv.find((a) => a.startsWith("--platform="));
|
|
45
|
-
if (!arg) return "claude";
|
|
46
|
-
return normalizePlatform(arg.split("=")[1]);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
function formatBoundedDashboard(dash) {
|
|
50
|
-
const planSurface = buildPlanSurface(dash.cwd || process.cwd());
|
|
51
|
-
const proMoment = dash?.proMoment || buildProMomentSurface(dash.cwd || process.cwd(), {
|
|
52
|
-
surface: "dashboard",
|
|
53
|
-
status: dash,
|
|
54
|
-
});
|
|
55
|
-
const workspaceMap = readWorkspaceMap(dash.cwd || process.cwd());
|
|
56
|
-
const productLearning = summarizeLatestLearningSignals(dash.cwd || process.cwd());
|
|
57
|
-
const planSecurityLine = planSurface.security
|
|
58
|
-
? [`Plan security: ${planSurface.security.postureLine.replace(/^Security posture:\s*/i, "")}`]
|
|
59
|
-
: [];
|
|
60
|
-
const browserCapabilityLine = dash.browserCapability?.showInDashboard
|
|
61
|
-
? [`Browser capability: ${dash.browserCapability.overallTier} — ${dash.browserCapability.summary}`]
|
|
62
|
-
: [];
|
|
63
|
-
const governanceLine = dash.agentAccessGovernance?.showInDashboard
|
|
64
|
-
? [`Agent Access Governance: ${String(dash.agentAccessGovernance.status || "partial").toUpperCase()} - reviewed=${dash.agentAccessGovernance.subjectsReviewed} - unknown=${dash.agentAccessGovernance.unknownSubjects} - latest receipt ${dash.agentAccessGovernance.latestReceiptPath ? "available" : "missing"}`]
|
|
65
|
-
: [];
|
|
66
|
-
const safePathLine = dash.safePath?.showInDashboard
|
|
67
|
-
? [`Safe Path: ${String(dash.safePath.status || "foundation").toUpperCase()} - last=${dash.safePath.lastDecision || "none"} - reductions=${dash.safePath.reductionsRecommended} - approvals=${dash.safePath.approvalsRequired} - blocks-preserved=${dash.safePath.blocksPreserved}`]
|
|
68
|
-
: [];
|
|
69
|
-
const intakeLine = dash.installIntakeRisk?.showInDashboard
|
|
70
|
-
? [`Install Intake: ${String(dash.installIntakeRisk.status || "foundation").toUpperCase()} - items=${dash.installIntakeRisk.totalItems} - unknown=${dash.installIntakeRisk.unknownItems} - high=${dash.installIntakeRisk.highRiskItems} - latest receipt ${dash.installIntakeRisk.latestReceiptPath ? "available" : "missing"}`]
|
|
71
|
-
: [];
|
|
72
|
-
const skillsLine = dash.skillsOperatingLayer?.showInDashboard
|
|
73
|
-
? [`Skills Operating Layer: ${String(dash.skillsOperatingLayer.status || "foundation").toUpperCase()} - reviewed=${dash.skillsOperatingLayer.reviewedSources} - deferred=${dash.skillsOperatingLayer.deferredSources} - parsed=${dash.skillsOperatingLayer.parsedSkills} - latest receipt ${dash.skillsOperatingLayer.latestSourceAdoptionReceiptPath ? "available" : "missing"}`]
|
|
74
|
-
: [];
|
|
75
|
-
const orchestrationLine = dash.orchestration?.showInStatus
|
|
76
|
-
? [dash.orchestration.statusLine]
|
|
77
|
-
: [];
|
|
78
|
-
const workspaceMapLine = workspaceMap
|
|
79
|
-
? [`Workspace Map: ${workspaceMap.status} - ${workspaceMap.topGaps[0] || "ready for compact navigation"}`]
|
|
80
|
-
: [];
|
|
81
|
-
const productLearningLine = productLearning?.totalEvents
|
|
82
|
-
? [`Product learning: ${productLearning.totalEvents} local event(s) recorded.`]
|
|
83
|
-
: [];
|
|
84
|
-
const proMomentLines = buildCompactProMomentLines(proMoment);
|
|
85
|
-
const runImprovementsLine = (() => {
|
|
86
|
-
try {
|
|
87
|
-
const { formatRunImprovementsStatusLine } = require("./lib/run-improvements");
|
|
88
|
-
const line = formatRunImprovementsStatusLine(dash.cwd || process.cwd());
|
|
89
|
-
return line ? [line] : [];
|
|
90
|
-
} catch { return []; }
|
|
91
|
-
})();
|
|
92
|
-
let agentSecurityLine = [];
|
|
93
|
-
if (dash.agentSecurity?.showInDashboard && dash.agentSecurity?.productSummary) {
|
|
94
|
-
const summary = dash.agentSecurity.productSummary;
|
|
95
|
-
agentSecurityLine = [
|
|
96
|
-
`Agent security: ${summary.headline}${summary.summary ? ` - ${summary.summary}` : ""}`,
|
|
97
|
-
];
|
|
98
|
-
} else if (dash.agentSecurity?.showInDashboard && dash.agentSecurity?.dashboardCard) {
|
|
99
|
-
const card = dash.agentSecurity.dashboardCard;
|
|
100
|
-
if (dash.agentSecurity.mode === "warn") {
|
|
101
|
-
agentSecurityLine = [
|
|
102
|
-
`Agent security: ${card.subtitle} - ${card.surfaceLabel} - ${card.changeLabel}${card.enforcementLabel ? ` - ${card.enforcementLabel}` : ""}`,
|
|
103
|
-
];
|
|
104
|
-
} else if (dash.agentSecurity.mode === "auto") {
|
|
105
|
-
agentSecurityLine = [
|
|
106
|
-
`Agent security: ${card.subtitle}${card.enforcementLabel ? ` - ${card.enforcementLabel}` : ""}`,
|
|
107
|
-
];
|
|
108
|
-
} else if (dash.agentSecurity.mode === "visibility") {
|
|
109
|
-
agentSecurityLine = [
|
|
110
|
-
`Agent security: ${card.subtitle} - ${card.surfaceLabel} - ${card.changeLabel}`,
|
|
111
|
-
];
|
|
112
|
-
} else {
|
|
113
|
-
agentSecurityLine = [
|
|
114
|
-
`Agent security: ${card.checkedLabel} - ${card.newLabel} - ${card.riskLabel}`,
|
|
115
|
-
];
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
return [
|
|
119
|
-
"Avorelo Dashboard",
|
|
120
|
-
`Plan: ${planSurface.planLabel}`,
|
|
121
|
-
...(planSurface.overrideNote ? [planSurface.overrideNote] : []),
|
|
122
|
-
planSurface.includedLine,
|
|
123
|
-
`Platform: ${dash.platform} Profile: ${dash.tier}`,
|
|
124
|
-
`Focus: ${dash.what} ${dash.why}`,
|
|
125
|
-
formatActivationStatusLine(dash.activation || buildActivationSummary(dash.cwd || process.cwd())),
|
|
126
|
-
...planSecurityLine,
|
|
127
|
-
...agentSecurityLine,
|
|
128
|
-
...governanceLine,
|
|
129
|
-
...safePathLine,
|
|
130
|
-
...intakeLine,
|
|
131
|
-
...skillsLine,
|
|
132
|
-
...browserCapabilityLine,
|
|
133
|
-
...orchestrationLine,
|
|
134
|
-
...proMomentLines,
|
|
135
|
-
...workspaceMapLine,
|
|
136
|
-
...productLearningLine,
|
|
137
|
-
...runImprovementsLine,
|
|
138
|
-
"Top fixes:",
|
|
139
|
-
...(dash.topFixesNow || []).map((f, i) => `${i + 1}. ${f.text || f}`),
|
|
140
|
-
`Next: ${dash.nextBestAction} Savings: ~${dash.benefitSummary?.minutesSavedEstimate || 0}min`,
|
|
141
|
-
].join("\n").trim();
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
function buildDashboardJson(dashboard, platform, cwd) {
|
|
145
|
-
const resolvedCwd = dashboard?.cwd || cwd;
|
|
146
|
-
const planSurface = buildPlanSurface(resolvedCwd);
|
|
147
|
-
const proMoment = dashboard?.proMoment || buildProMomentSurface(resolvedCwd, {
|
|
148
|
-
surface: "dashboard",
|
|
149
|
-
status: dashboard,
|
|
150
|
-
});
|
|
151
|
-
let valueLedger = null;
|
|
152
|
-
try {
|
|
153
|
-
const ledger = new ValueLedger(resolvedCwd);
|
|
154
|
-
const events = ledger.loadAll();
|
|
155
|
-
valueLedger = buildValueLedgerSummary(events);
|
|
156
|
-
} catch {}
|
|
157
|
-
const out = {
|
|
158
|
-
title: "Avorelo Dashboard",
|
|
159
|
-
cwd: resolvedCwd,
|
|
160
|
-
platform,
|
|
161
|
-
what: "Quick view of optimization opportunities.",
|
|
162
|
-
why: "See Time, Risk, Cost impact and clear next steps.",
|
|
163
|
-
planSummary: planSurface,
|
|
164
|
-
securitySummary: planSurface.security || null,
|
|
165
|
-
proMoment,
|
|
166
|
-
summaryFraming: dashboard.teamRollup?.summaryFraming || "Time + Risk + Cost dashboard.",
|
|
167
|
-
tier: dashboard.tier,
|
|
168
|
-
benefitSummary: dashboard.benefitSummary || null,
|
|
169
|
-
memorySummary: dashboard.memorySummary || null,
|
|
170
|
-
contextBudgetPlan: dashboard.contextBudgetPlan || null,
|
|
171
|
-
weeklySummary: dashboard.weeklySummary || null,
|
|
172
|
-
nextBestAction: dashboard.nextBestAction || "",
|
|
173
|
-
topRecommendedFixes: dashboard.topRecommendedFixes || [],
|
|
174
|
-
topFixesNow: (dashboard.topRecommendedFixes || []).slice(0, 3),
|
|
175
|
-
teamDefaultsApplied: dashboard.teamDefaultsApplied || null,
|
|
176
|
-
teamRollup: dashboard.teamRollup || null,
|
|
177
|
-
settingsControls: dashboard.settingsControls || null,
|
|
178
|
-
activation: dashboard.activation || buildActivationSummary(resolvedCwd),
|
|
179
|
-
workspaceMap: readWorkspaceMap(resolvedCwd),
|
|
180
|
-
productLearning: summarizeLatestLearningSignals(resolvedCwd),
|
|
181
|
-
valueLedger,
|
|
182
|
-
...(dashboard.agentSecurity ? { agentSecurity: dashboard.agentSecurity } : {}),
|
|
183
|
-
...(dashboard.agentAccessGovernance ? { agentAccessGovernance: dashboard.agentAccessGovernance } : {}),
|
|
184
|
-
...(dashboard.safePath ? { safePath: dashboard.safePath } : {}),
|
|
185
|
-
...(dashboard.installIntakeRisk ? { installIntakeRisk: dashboard.installIntakeRisk } : {}),
|
|
186
|
-
...(dashboard.skillsOperatingLayer ? { skillsOperatingLayer: dashboard.skillsOperatingLayer } : {}),
|
|
187
|
-
...(dashboard.browserCapability ? { browserCapability: dashboard.browserCapability } : {}),
|
|
188
|
-
...(dashboard.orchestration ? { orchestration: dashboard.orchestration } : {}),
|
|
189
|
-
operatingValue: dashboard.operatingValue || null,
|
|
190
|
-
effectivenessScorecard: null,
|
|
191
|
-
runImprovements: (() => {
|
|
192
|
-
try {
|
|
193
|
-
const { loadRunImprovements } = require("./lib/run-improvements");
|
|
194
|
-
return loadRunImprovements(resolvedCwd);
|
|
195
|
-
} catch { return null; }
|
|
196
|
-
})(),
|
|
197
|
-
};
|
|
198
|
-
try {
|
|
199
|
-
out.effectivenessScorecard = buildEffectivenessScorecard(resolvedCwd, { days: 7 });
|
|
200
|
-
} catch {
|
|
201
|
-
out.effectivenessScorecard = { error: "Could not compute scorecard." };
|
|
202
|
-
}
|
|
203
|
-
return out;
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
function main() {
|
|
207
|
-
const cwd = process.cwd();
|
|
208
|
-
const platform = readPlatformArg(process.argv.slice(2));
|
|
209
|
-
const dashboard = buildStatusDashboard(cwd, { limit: 7 });
|
|
210
|
-
normalizeDashboardForPlatform(platform, dashboard);
|
|
211
|
-
dashboard.proMoment = buildProMomentSurface(cwd, {
|
|
212
|
-
surface: "dashboard",
|
|
213
|
-
status: dashboard,
|
|
214
|
-
});
|
|
215
|
-
|
|
216
|
-
if (TEXT_MODE) {
|
|
217
|
-
const out = {
|
|
218
|
-
cwd,
|
|
219
|
-
platform,
|
|
220
|
-
tier: dashboard.tier,
|
|
221
|
-
what: "Quick view of optimization opportunities.",
|
|
222
|
-
why: "See Time, Risk, Cost impact and clear next steps.",
|
|
223
|
-
nextBestAction: dashboard.nextBestAction,
|
|
224
|
-
topFixesNow: (dashboard.topRecommendedFixes || []).slice(0, 3),
|
|
225
|
-
benefitSummary: dashboard.benefitSummary,
|
|
226
|
-
activation: dashboard.activation || buildActivationSummary(cwd),
|
|
227
|
-
agentSecurity: dashboard.agentSecurity || null,
|
|
228
|
-
agentAccessGovernance: dashboard.agentAccessGovernance || null,
|
|
229
|
-
safePath: dashboard.safePath || null,
|
|
230
|
-
installIntakeRisk: dashboard.installIntakeRisk || null,
|
|
231
|
-
skillsOperatingLayer: dashboard.skillsOperatingLayer || null,
|
|
232
|
-
browserCapability: dashboard.browserCapability || null,
|
|
233
|
-
orchestration: dashboard.orchestration || null,
|
|
234
|
-
settingsControls: dashboard.settingsControls || null,
|
|
235
|
-
proMoment: dashboard.proMoment,
|
|
236
|
-
};
|
|
237
|
-
process.stdout.write(formatBoundedDashboard(out));
|
|
238
|
-
recordProMomentEvaluation(cwd, dashboard.proMoment, { humanVisible: true });
|
|
239
|
-
} else {
|
|
240
|
-
process.stdout.write(JSON.stringify(buildDashboardJson(dashboard, platform, cwd)));
|
|
241
|
-
recordProMomentEvaluation(cwd, dashboard.proMoment, { humanVisible: false });
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
if (require.main === module) {
|
|
246
|
-
main();
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
module.exports = {
|
|
250
|
-
buildDashboardJson,
|
|
251
|
-
formatBoundedDashboard,
|
|
252
|
-
};
|