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/scripts/lib/plans.js
DELETED
|
@@ -1,2318 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
const BUCKETS = Object.freeze([
|
|
4
|
-
{
|
|
5
|
-
id: "better_ai_coding_tasks",
|
|
6
|
-
label: "Better AI Coding Tasks",
|
|
7
|
-
description: "Turn rough instructions into clearer, safer, verifiable AI coding tasks.",
|
|
8
|
-
},
|
|
9
|
-
{
|
|
10
|
-
id: "automatic_context_cost_optimization",
|
|
11
|
-
label: "Automatic Context & Cost Optimization",
|
|
12
|
-
description: "Reduce wasted context, repeated explanations, and unnecessary agent work.",
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
id: "visual_qa_with_screenshots",
|
|
16
|
-
label: "Visual QA with Screenshots",
|
|
17
|
-
description: "See what the AI agent actually changed with screenshot-backed checks and evidence.",
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
id: "seamless_agent_security",
|
|
21
|
-
label: "Seamless Agent Security",
|
|
22
|
-
description: "Detect risky skills, tools, browser capabilities, and instructions with safer defaults where supported.",
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
id: "evidence_and_history",
|
|
26
|
-
label: "Evidence & History",
|
|
27
|
-
description: "Keep local proof of what changed, what was checked, and what was allowed or blocked.",
|
|
28
|
-
},
|
|
29
|
-
]);
|
|
30
|
-
|
|
31
|
-
function defineCapability(config) {
|
|
32
|
-
return Object.freeze({
|
|
33
|
-
implementationStatus: "supported",
|
|
34
|
-
surfaceType: "detection",
|
|
35
|
-
safeForPublicCopy: true,
|
|
36
|
-
customerFacingDescription: config.description,
|
|
37
|
-
...config,
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
const CAPABILITIES = Object.freeze([
|
|
42
|
-
defineCapability({
|
|
43
|
-
id: "local_activation",
|
|
44
|
-
label: "Local activation",
|
|
45
|
-
description: "Start locally in a repo and get first value without a required network dependency.",
|
|
46
|
-
bucket: "better_ai_coding_tasks",
|
|
47
|
-
availability: { free: true, pro: true },
|
|
48
|
-
}),
|
|
49
|
-
defineCapability({
|
|
50
|
-
id: "ai_coding_readiness",
|
|
51
|
-
label: "AI coding readiness",
|
|
52
|
-
description: "Check whether the current project is ready for local AI coding work.",
|
|
53
|
-
bucket: "better_ai_coding_tasks",
|
|
54
|
-
availability: { free: true, pro: true },
|
|
55
|
-
}),
|
|
56
|
-
defineCapability({
|
|
57
|
-
id: "prompt_compiler_basic",
|
|
58
|
-
label: "Improve rough prompts",
|
|
59
|
-
description: "Turn a rough instruction into a clearer coding task with objective, scope, constraints, verification, and output format.",
|
|
60
|
-
bucket: "better_ai_coding_tasks",
|
|
61
|
-
availability: { free: true, pro: true },
|
|
62
|
-
entitlement: { mode: "basic" },
|
|
63
|
-
quota: { mode: "basic_limited" },
|
|
64
|
-
surfaceType: "policy",
|
|
65
|
-
}),
|
|
66
|
-
defineCapability({
|
|
67
|
-
id: "prompt_compiler_advanced",
|
|
68
|
-
label: "Compile task-specific AI coding plans",
|
|
69
|
-
description: "Generate task-type-aware plans with acceptance criteria, safe defaults, context guidance, and verification discipline.",
|
|
70
|
-
bucket: "better_ai_coding_tasks",
|
|
71
|
-
availability: { free: false, pro: true },
|
|
72
|
-
entitlement: { mode: "advanced" },
|
|
73
|
-
quota: { mode: "advanced_full" },
|
|
74
|
-
surfaceType: "policy",
|
|
75
|
-
}),
|
|
76
|
-
defineCapability({
|
|
77
|
-
id: "dynamic_skill_pack_selection",
|
|
78
|
-
label: "Trusted local skill-pack selection",
|
|
79
|
-
description: "Select trusted local skill packs based on task type without fetching or installing external skills.",
|
|
80
|
-
bucket: "better_ai_coding_tasks",
|
|
81
|
-
availability: { free: false, pro: true },
|
|
82
|
-
entitlement: { trustedOnly: true },
|
|
83
|
-
surfaceType: "policy",
|
|
84
|
-
}),
|
|
85
|
-
defineCapability({
|
|
86
|
-
id: "reference_source_intake_basic",
|
|
87
|
-
label: "Reviewed source intake",
|
|
88
|
-
description: "Represent reviewed, deferred, and blocked external skill sources locally with provenance, attribution, and policy metadata.",
|
|
89
|
-
bucket: "better_ai_coding_tasks",
|
|
90
|
-
availability: { free: true, pro: true },
|
|
91
|
-
surfaceType: "detection",
|
|
92
|
-
}),
|
|
93
|
-
defineCapability({
|
|
94
|
-
id: "skill_md_parser_basic",
|
|
95
|
-
label: "SKILL.md parser",
|
|
96
|
-
description: "Parse local and reviewed vendored SKILL.md files into deterministic local metadata instead of broad prompt dumps.",
|
|
97
|
-
bucket: "better_ai_coding_tasks",
|
|
98
|
-
availability: { free: true, pro: true },
|
|
99
|
-
surfaceType: "detection",
|
|
100
|
-
}),
|
|
101
|
-
defineCapability({
|
|
102
|
-
id: "skill_pattern_extraction_basic",
|
|
103
|
-
label: "Skill pattern extraction",
|
|
104
|
-
description: "Extract workflow, verification, evidence, anti-pattern, and stop-condition patterns from reviewed skill sources.",
|
|
105
|
-
bucket: "better_ai_coding_tasks",
|
|
106
|
-
availability: { free: true, pro: true },
|
|
107
|
-
surfaceType: "detection",
|
|
108
|
-
}),
|
|
109
|
-
defineCapability({
|
|
110
|
-
id: "capability_binding_basic",
|
|
111
|
-
label: "Capability binding",
|
|
112
|
-
description: "Bind reviewed skills and extracted patterns to canonical Avorelo capabilities without creating a parallel taxonomy.",
|
|
113
|
-
bucket: "better_ai_coding_tasks",
|
|
114
|
-
availability: { free: true, pro: true },
|
|
115
|
-
surfaceType: "policy",
|
|
116
|
-
}),
|
|
117
|
-
defineCapability({
|
|
118
|
-
id: "source_backed_skill_router_basic",
|
|
119
|
-
label: "Source-backed skill router",
|
|
120
|
-
description: "Deterministically route tasks to reviewed local or vendored skills with compact summaries, evidence expectations, and deferred-source reasons.",
|
|
121
|
-
bucket: "better_ai_coding_tasks",
|
|
122
|
-
availability: { free: true, pro: true },
|
|
123
|
-
surfaceType: "policy",
|
|
124
|
-
}),
|
|
125
|
-
defineCapability({
|
|
126
|
-
id: "thin_adapter_guidance_sync_basic",
|
|
127
|
-
label: "Thin adapter guidance sync",
|
|
128
|
-
description: "Generate thin adapter guidance from reviewed local skill and source inventory without duplicating core routing or policy logic.",
|
|
129
|
-
bucket: "better_ai_coding_tasks",
|
|
130
|
-
availability: { free: true, pro: true },
|
|
131
|
-
surfaceType: "evidence",
|
|
132
|
-
}),
|
|
133
|
-
defineCapability({
|
|
134
|
-
id: "skill_hygiene_basic",
|
|
135
|
-
label: "Skill hygiene guard",
|
|
136
|
-
description: "Inventory available skills and detect overlapping or duplicate skills to prevent multiple conflicting skills from being fully activated for the same task.",
|
|
137
|
-
bucket: "better_ai_coding_tasks",
|
|
138
|
-
availability: { free: true, pro: true },
|
|
139
|
-
surfaceType: "detection",
|
|
140
|
-
}),
|
|
141
|
-
defineCapability({
|
|
142
|
-
id: "skill_duplicate_activation_guard_basic",
|
|
143
|
-
label: "Duplicate activation guard",
|
|
144
|
-
description: "Select one primary skill per task and move overlapping skills into shadow mode to avoid loading multiple full skill contexts.",
|
|
145
|
-
bucket: "better_ai_coding_tasks",
|
|
146
|
-
availability: { free: true, pro: true },
|
|
147
|
-
surfaceType: "policy",
|
|
148
|
-
}),
|
|
149
|
-
defineCapability({
|
|
150
|
-
id: "skill_shadow_contribution_basic",
|
|
151
|
-
label: "Bounded shadow contribution",
|
|
152
|
-
description: "Extract small, unique, non-conflicting contributions (verification checks, edge cases) from shadow skills without duplicating the primary workflow.",
|
|
153
|
-
bucket: "better_ai_coding_tasks",
|
|
154
|
-
availability: { free: true, pro: true },
|
|
155
|
-
surfaceType: "policy",
|
|
156
|
-
}),
|
|
157
|
-
defineCapability({
|
|
158
|
-
id: "skill_conflict_guard_basic",
|
|
159
|
-
label: "Skill conflict guard",
|
|
160
|
-
description: "Detect and block routing of skills with contradictory policies, unsafe invocation language, or conflicting verification expectations.",
|
|
161
|
-
bucket: "better_ai_coding_tasks",
|
|
162
|
-
availability: { free: true, pro: true },
|
|
163
|
-
surfaceType: "block",
|
|
164
|
-
}),
|
|
165
|
-
defineCapability({
|
|
166
|
-
id: "skill_context_hygiene_basic",
|
|
167
|
-
label: "Context-heavy skill guard",
|
|
168
|
-
description: "Detect context-heavy skills and suppress them when a lighter equivalent primary skill exists, applying a context budget guard.",
|
|
169
|
-
bucket: "automatic_context_cost_optimization",
|
|
170
|
-
availability: { free: true, pro: true },
|
|
171
|
-
surfaceType: "warning",
|
|
172
|
-
}),
|
|
173
|
-
defineCapability({
|
|
174
|
-
id: "skill_security_hygiene_basic",
|
|
175
|
-
label: "Skill security hygiene",
|
|
176
|
-
description: "Detect skills with hidden unicode, policy bypass phrases, unsafe auto-execution language, or unreviewed sources and block them from auto-routing.",
|
|
177
|
-
bucket: "better_ai_coding_tasks",
|
|
178
|
-
availability: { free: true, pro: true },
|
|
179
|
-
surfaceType: "block",
|
|
180
|
-
}),
|
|
181
|
-
defineCapability({
|
|
182
|
-
id: "skill_route_hygiene_basic",
|
|
183
|
-
label: "Route hygiene metadata",
|
|
184
|
-
description: "Attach hygiene decision, primary skill, suppressed duplicates, shadow candidates, and bounded contributions to every route result.",
|
|
185
|
-
bucket: "better_ai_coding_tasks",
|
|
186
|
-
availability: { free: true, pro: true },
|
|
187
|
-
surfaceType: "evidence",
|
|
188
|
-
}),
|
|
189
|
-
defineCapability({
|
|
190
|
-
id: "skill_intake_check_basic",
|
|
191
|
-
label: "Skill intake check",
|
|
192
|
-
description: "Check a candidate skill path against the existing registry for duplicates, conflicts, and security flags before admission, returning allow/warn/merge_recommended/block.",
|
|
193
|
-
bucket: "better_ai_coding_tasks",
|
|
194
|
-
availability: { free: true, pro: true },
|
|
195
|
-
surfaceType: "detection",
|
|
196
|
-
}),
|
|
197
|
-
defineCapability({
|
|
198
|
-
id: "compact_session_context_basic",
|
|
199
|
-
label: "Compact session context",
|
|
200
|
-
description: "Generate a compact session-start context from Work-Control receipts to prevent broad rediscovery and token waste.",
|
|
201
|
-
bucket: "automatic_context_cost_optimization",
|
|
202
|
-
availability: { free: true, pro: true },
|
|
203
|
-
surfaceType: "evidence",
|
|
204
|
-
}),
|
|
205
|
-
defineCapability({
|
|
206
|
-
id: "continuation_packet_basic",
|
|
207
|
-
label: "Continuation packet",
|
|
208
|
-
description: "Include what is already done, what not to repeat, and the next safest action in every session-start context.",
|
|
209
|
-
bucket: "automatic_context_cost_optimization",
|
|
210
|
-
availability: { free: true, pro: true },
|
|
211
|
-
surfaceType: "policy",
|
|
212
|
-
}),
|
|
213
|
-
defineCapability({
|
|
214
|
-
id: "context_budget_guard_basic",
|
|
215
|
-
label: "Context budget guard",
|
|
216
|
-
description: "Enforce a compact-context budget (default 6000 chars / ~1500 tokens) and drop low-priority sections first if over limit.",
|
|
217
|
-
bucket: "automatic_context_cost_optimization",
|
|
218
|
-
availability: { free: true, pro: true },
|
|
219
|
-
surfaceType: "policy",
|
|
220
|
-
}),
|
|
221
|
-
defineCapability({
|
|
222
|
-
id: "work_control_context_bridge_basic",
|
|
223
|
-
label: "Work-Control context bridge",
|
|
224
|
-
description: "Bridge Work-Control receipts (carryForward, doNotRepeat, nextSafestAction) into compact session context.",
|
|
225
|
-
bucket: "automatic_context_cost_optimization",
|
|
226
|
-
availability: { free: true, pro: true },
|
|
227
|
-
surfaceType: "evidence",
|
|
228
|
-
}),
|
|
229
|
-
defineCapability({
|
|
230
|
-
id: "workspace_map_context_selection_basic",
|
|
231
|
-
label: "Workspace-map context selection",
|
|
232
|
-
description: "Select relevant files from Workspace Map for session context instead of broad repo scans.",
|
|
233
|
-
bucket: "automatic_context_cost_optimization",
|
|
234
|
-
availability: { free: true, pro: true },
|
|
235
|
-
surfaceType: "detection",
|
|
236
|
-
}),
|
|
237
|
-
defineCapability({
|
|
238
|
-
id: "model_effort_recommendation_basic",
|
|
239
|
-
label: "Model/effort recommendation summary",
|
|
240
|
-
description: "Include route/proof model and effort recommendations in session context for cross-tool continuity.",
|
|
241
|
-
bucket: "automatic_context_cost_optimization",
|
|
242
|
-
availability: { free: true, pro: true },
|
|
243
|
-
surfaceType: "detection",
|
|
244
|
-
}),
|
|
245
|
-
defineCapability({
|
|
246
|
-
id: "context_cost_basic",
|
|
247
|
-
label: "Basic context optimization",
|
|
248
|
-
description: "Show context hygiene, waste warnings, and bounded next-step guidance.",
|
|
249
|
-
bucket: "automatic_context_cost_optimization",
|
|
250
|
-
availability: { free: true, pro: true },
|
|
251
|
-
}),
|
|
252
|
-
defineCapability({
|
|
253
|
-
id: "session_handoff_basic",
|
|
254
|
-
label: "Latest-session carry-forward",
|
|
255
|
-
description: "Carry forward the latest useful local session state when it is available.",
|
|
256
|
-
bucket: "automatic_context_cost_optimization",
|
|
257
|
-
availability: { free: true, pro: true },
|
|
258
|
-
}),
|
|
259
|
-
defineCapability({
|
|
260
|
-
id: "workspace_registry_basic",
|
|
261
|
-
label: "AI Workspace Asset Registry",
|
|
262
|
-
description: "Build a normalized local asset index of files, scripts, docs, configs, skills, MCP configs, and guidance — so each session starts with the right context without broad scanning.",
|
|
263
|
-
bucket: "automatic_context_cost_optimization",
|
|
264
|
-
availability: { free: true, pro: true },
|
|
265
|
-
surfaceType: "detection",
|
|
266
|
-
}),
|
|
267
|
-
defineCapability({
|
|
268
|
-
id: "asset_inventory_basic",
|
|
269
|
-
label: "Asset inventory",
|
|
270
|
-
description: "Enumerate workspace assets by type (source, test, doc, config, skill, MCP, guidance, model) with trust/risk classification.",
|
|
271
|
-
bucket: "automatic_context_cost_optimization",
|
|
272
|
-
availability: { free: true, pro: true },
|
|
273
|
-
surfaceType: "detection",
|
|
274
|
-
}),
|
|
275
|
-
defineCapability({
|
|
276
|
-
id: "asset_relationships_basic",
|
|
277
|
-
label: "Asset relationship mapping",
|
|
278
|
-
description: "Record deterministic relationships between assets: package defines scripts, test validates source, skill-pack contains skills, guidance guides agent surface.",
|
|
279
|
-
bucket: "automatic_context_cost_optimization",
|
|
280
|
-
availability: { free: true, pro: true },
|
|
281
|
-
surfaceType: "detection",
|
|
282
|
-
}),
|
|
283
|
-
defineCapability({
|
|
284
|
-
id: "registry_drift_detection_basic",
|
|
285
|
-
label: "Registry drift detection",
|
|
286
|
-
description: "Compare the latest registry snapshot with the previous to surface added, removed, and changed assets without re-scanning unchanged files.",
|
|
287
|
-
bucket: "automatic_context_cost_optimization",
|
|
288
|
-
availability: { free: true, pro: true },
|
|
289
|
-
surfaceType: "detection",
|
|
290
|
-
}),
|
|
291
|
-
defineCapability({
|
|
292
|
-
id: "registry_session_context_bridge_basic",
|
|
293
|
-
label: "Registry → Session Context bridge",
|
|
294
|
-
description: "Feed registry-indexed relevant files and asset warnings into Session Context so the next session starts with pre-indexed context instead of broad repo discovery.",
|
|
295
|
-
bucket: "automatic_context_cost_optimization",
|
|
296
|
-
availability: { free: true, pro: true },
|
|
297
|
-
surfaceType: "evidence",
|
|
298
|
-
}),
|
|
299
|
-
defineCapability({
|
|
300
|
-
id: "registry_brain_pack_bridge_basic",
|
|
301
|
-
label: "Registry → Brain Pack bridge",
|
|
302
|
-
description: "Supply Brain Pack with package manager, test commands, asset counts, and skill/guidance signals from the registry without dumping raw asset lists.",
|
|
303
|
-
bucket: "automatic_context_cost_optimization",
|
|
304
|
-
availability: { free: true, pro: true },
|
|
305
|
-
surfaceType: "evidence",
|
|
306
|
-
}),
|
|
307
|
-
defineCapability({
|
|
308
|
-
id: "registry_capability_recommender_signal_basic",
|
|
309
|
-
label: "Registry capability recommender signal",
|
|
310
|
-
description: "Feed high-risk asset counts, unknown asset flags, and MCP config presence to the Capability Recommender without duplicating its routing rules.",
|
|
311
|
-
bucket: "automatic_context_cost_optimization",
|
|
312
|
-
availability: { free: true, pro: true },
|
|
313
|
-
surfaceType: "detection",
|
|
314
|
-
}),
|
|
315
|
-
defineCapability({
|
|
316
|
-
id: "registry_intake_bridge_basic",
|
|
317
|
-
label: "Registry → Install Intake bridge",
|
|
318
|
-
description: "Flag unknown-review and deploy-script assets from the registry to Install Intake / Safe Path for review, without running a full intake scan internally.",
|
|
319
|
-
bucket: "seamless_agent_security",
|
|
320
|
-
availability: { free: true, pro: true },
|
|
321
|
-
surfaceType: "detection",
|
|
322
|
-
}),
|
|
323
|
-
// Operating Loop Value Surface v1
|
|
324
|
-
defineCapability({
|
|
325
|
-
id: "operating_value_surface_basic",
|
|
326
|
-
label: "Operating loop value surface",
|
|
327
|
-
description: "Aggregate existing Avorelo receipts into a single value summary: time saved, context reduced, security risk avoided, clarity improved, and seamlessness score.",
|
|
328
|
-
bucket: "automatic_context_cost_optimization",
|
|
329
|
-
availability: { free: true, pro: true },
|
|
330
|
-
surfaceType: "evidence",
|
|
331
|
-
}),
|
|
332
|
-
defineCapability({
|
|
333
|
-
id: "value_cards_basic",
|
|
334
|
-
label: "Value cards",
|
|
335
|
-
description: "Five deterministic value cards (time saved, cost/tokens saved, security risk avoided, clarity, seamlessness) computed from existing operating loop receipts.",
|
|
336
|
-
bucket: "automatic_context_cost_optimization",
|
|
337
|
-
availability: { free: true, pro: true },
|
|
338
|
-
surfaceType: "evidence",
|
|
339
|
-
}),
|
|
340
|
-
defineCapability({
|
|
341
|
-
id: "session_value_moments_basic",
|
|
342
|
-
label: "In-session value moments",
|
|
343
|
-
description: "Compact lifecycle messages (session_start, routing_decision, risk_detected, proof_complete, session_end) surfaced only when evidence exists and value is non-trivial.",
|
|
344
|
-
bucket: "automatic_context_cost_optimization",
|
|
345
|
-
availability: { free: true, pro: true },
|
|
346
|
-
surfaceType: "evidence",
|
|
347
|
-
}),
|
|
348
|
-
defineCapability({
|
|
349
|
-
id: "operating_loop_readiness_basic",
|
|
350
|
-
label: "Operating loop readiness score",
|
|
351
|
-
description: "A 0–100 readiness score based on presence and freshness of work-control, session-context, registry, brain-pack, capability recommendation, proof, and risk routing.",
|
|
352
|
-
bucket: "automatic_context_cost_optimization",
|
|
353
|
-
availability: { free: true, pro: true },
|
|
354
|
-
surfaceType: "evidence",
|
|
355
|
-
}),
|
|
356
|
-
defineCapability({
|
|
357
|
-
id: "optimization_effectiveness_measurement_basic",
|
|
358
|
-
label: "Optimization effectiveness measurement",
|
|
359
|
-
description: "Conservative before/after context measurement: raw candidate tokens vs compact handoff tokens, manual steps avoided, and time saved estimate with explicit confidence.",
|
|
360
|
-
bucket: "automatic_context_cost_optimization",
|
|
361
|
-
availability: { free: true, pro: true },
|
|
362
|
-
surfaceType: "evidence",
|
|
363
|
-
}),
|
|
364
|
-
defineCapability({
|
|
365
|
-
id: "routing_quality_measurement_basic",
|
|
366
|
-
label: "Routing quality measurement",
|
|
367
|
-
description: "Measure capability auto-recommendation quality: was the right pack selected automatically, is the next action available, and is there a wrong-capability risk signal.",
|
|
368
|
-
bucket: "automatic_context_cost_optimization",
|
|
369
|
-
availability: { free: true, pro: true },
|
|
370
|
-
surfaceType: "evidence",
|
|
371
|
-
}),
|
|
372
|
-
defineCapability({
|
|
373
|
-
id: "security_routing_measurement_basic",
|
|
374
|
-
label: "Security routing effectiveness measurement",
|
|
375
|
-
description: "Measure how risky assets were handled: high-risk assets flagged, risks blocked vs routed, unknown tools detected, safe path recommended.",
|
|
376
|
-
bucket: "automatic_context_cost_optimization",
|
|
377
|
-
availability: { free: true, pro: true },
|
|
378
|
-
surfaceType: "evidence",
|
|
379
|
-
}),
|
|
380
|
-
defineCapability({
|
|
381
|
-
id: "rediscovery_avoidance_measurement_basic",
|
|
382
|
-
label: "Rediscovery avoidance measurement",
|
|
383
|
-
description: "Detect when Avorelo avoided broad repo rediscovery by providing pre-indexed relevant files and a compact handoff instead of a full workspace dump.",
|
|
384
|
-
bucket: "automatic_context_cost_optimization",
|
|
385
|
-
availability: { free: true, pro: true },
|
|
386
|
-
surfaceType: "evidence",
|
|
387
|
-
}),
|
|
388
|
-
defineCapability({
|
|
389
|
-
id: "context_reduction_estimation_basic",
|
|
390
|
-
label: "Context reduction estimation",
|
|
391
|
-
description: "Estimate tokens avoided by comparing raw candidate context sources (registry assets, receipt sizes) to compact session-context handoff, with conservative confidence.",
|
|
392
|
-
bucket: "automatic_context_cost_optimization",
|
|
393
|
-
availability: { free: true, pro: true },
|
|
394
|
-
surfaceType: "evidence",
|
|
395
|
-
}),
|
|
396
|
-
defineCapability({
|
|
397
|
-
id: "seamlessness_measurement_basic",
|
|
398
|
-
label: "Seamlessness measurement",
|
|
399
|
-
description: "Score how many operating loop surfaces were handled automatically versus requiring user action, and whether capability routing happened without user selection.",
|
|
400
|
-
bucket: "automatic_context_cost_optimization",
|
|
401
|
-
availability: { free: true, pro: true },
|
|
402
|
-
surfaceType: "evidence",
|
|
403
|
-
}),
|
|
404
|
-
defineCapability({
|
|
405
|
-
id: "local_value_dashboard_basic",
|
|
406
|
-
label: "Local value dashboard preview",
|
|
407
|
-
description: "Generate a local Markdown dashboard preview showing value cards, readiness score, and next action — accessible via `avorelo dashboard --open` without a browser server.",
|
|
408
|
-
bucket: "automatic_context_cost_optimization",
|
|
409
|
-
availability: { free: true, pro: true },
|
|
410
|
-
surfaceType: "evidence",
|
|
411
|
-
}),
|
|
412
|
-
// Value Proof Hardening / Reality Calibration v1
|
|
413
|
-
defineCapability({
|
|
414
|
-
id: "value_proof_calibration_basic",
|
|
415
|
-
label: "Value proof calibration",
|
|
416
|
-
description: "Normalize every value metric into a proof object with valueClass (measured/estimated/heuristic/unavailable), confidence, basis, evidence, caveats, and overclaimRisk.",
|
|
417
|
-
bucket: "automatic_context_cost_optimization",
|
|
418
|
-
availability: { free: true, pro: true },
|
|
419
|
-
surfaceType: "evidence",
|
|
420
|
-
}),
|
|
421
|
-
defineCapability({
|
|
422
|
-
id: "value_claim_policy_basic",
|
|
423
|
-
label: "Value claim policy",
|
|
424
|
-
description: "Per-value policy flags (userFacingAllowed, dashboardAllowed, websiteAllowed, pricingAllowed, caveatRequired) to ensure only well-supported claims reach each surface.",
|
|
425
|
-
bucket: "automatic_context_cost_optimization",
|
|
426
|
-
availability: { free: true, pro: true },
|
|
427
|
-
surfaceType: "evidence",
|
|
428
|
-
}),
|
|
429
|
-
defineCapability({
|
|
430
|
-
id: "value_overclaim_guard_basic",
|
|
431
|
-
label: "Value overclaim guard",
|
|
432
|
-
description: "Detect overclaim risks in value metrics and include calibration report with recommended safe copy, blocked copy, and next evidence to collect.",
|
|
433
|
-
bucket: "automatic_context_cost_optimization",
|
|
434
|
-
availability: { free: true, pro: true },
|
|
435
|
-
surfaceType: "evidence",
|
|
436
|
-
}),
|
|
437
|
-
// Seamless Activation + Self-Healing Setup v1
|
|
438
|
-
defineCapability({
|
|
439
|
-
id: "seamless_activation_basic",
|
|
440
|
-
label: "Seamless activation",
|
|
441
|
-
description: "Activate Avorelo in any project with a single command. Detects workspace, AI surfaces, and model routing automatically.",
|
|
442
|
-
bucket: "better_ai_coding_tasks",
|
|
443
|
-
availability: { free: true, pro: true },
|
|
444
|
-
surfaceType: "detection",
|
|
445
|
-
}),
|
|
446
|
-
defineCapability({
|
|
447
|
-
id: "self_healing_setup_basic",
|
|
448
|
-
label: "Self-healing setup",
|
|
449
|
-
description: "Automatically fix missing runtime directories, .gitignore patterns, and corrupted state during activation without asking the user.",
|
|
450
|
-
bucket: "better_ai_coding_tasks",
|
|
451
|
-
availability: { free: true, pro: true },
|
|
452
|
-
surfaceType: "detection",
|
|
453
|
-
}),
|
|
454
|
-
defineCapability({
|
|
455
|
-
id: "activation_repair_loop_basic",
|
|
456
|
-
label: "Activation repair loop",
|
|
457
|
-
description: "Scan, repair, verify, repeat — activation keeps going until Avorelo is ready or a true hard blocker is found.",
|
|
458
|
-
bucket: "better_ai_coding_tasks",
|
|
459
|
-
availability: { free: true, pro: true },
|
|
460
|
-
surfaceType: "detection",
|
|
461
|
-
}),
|
|
462
|
-
defineCapability({
|
|
463
|
-
id: "activation_model_routing_detection_basic",
|
|
464
|
-
label: "Model routing detection",
|
|
465
|
-
description: "Detect available model/provider routing options at activation time (env key names only — no secret values).",
|
|
466
|
-
bucket: "better_ai_coding_tasks",
|
|
467
|
-
availability: { free: true, pro: true },
|
|
468
|
-
surfaceType: "detection",
|
|
469
|
-
}),
|
|
470
|
-
defineCapability({
|
|
471
|
-
id: "activation_dashboard_ready_basic",
|
|
472
|
-
label: "Dashboard ready at activation",
|
|
473
|
-
description: "Ensure local value dashboard and tracking baseline are generated during activation, without showing savings claims.",
|
|
474
|
-
bucket: "automatic_context_cost_optimization",
|
|
475
|
-
availability: { free: true, pro: true },
|
|
476
|
-
surfaceType: "evidence",
|
|
477
|
-
}),
|
|
478
|
-
defineCapability({
|
|
479
|
-
id: "activation_agent_repair_plan_basic",
|
|
480
|
-
label: "Agent repair plan",
|
|
481
|
-
description: "Output a machine-readable repair plan when activation cannot complete, so LLM agents can continue repair autonomously.",
|
|
482
|
-
bucket: "better_ai_coding_tasks",
|
|
483
|
-
availability: { free: true, pro: true },
|
|
484
|
-
surfaceType: "evidence",
|
|
485
|
-
}),
|
|
486
|
-
defineCapability({
|
|
487
|
-
id: "context_cost_advanced",
|
|
488
|
-
label: "Advanced context and handoff optimization",
|
|
489
|
-
description: "Compact handoffs, narrow scope, target verification, and reduce repeated explanations where supported.",
|
|
490
|
-
bucket: "automatic_context_cost_optimization",
|
|
491
|
-
availability: { free: false, pro: true },
|
|
492
|
-
}),
|
|
493
|
-
defineCapability({
|
|
494
|
-
id: "reentry_memory_full",
|
|
495
|
-
label: "Multi-session continuity",
|
|
496
|
-
description: "Use local reentry memory and carry-forward artifacts to continue work across sessions where available.",
|
|
497
|
-
bucket: "automatic_context_cost_optimization",
|
|
498
|
-
availability: { free: false, pro: true },
|
|
499
|
-
implementationStatus: "partial",
|
|
500
|
-
}),
|
|
501
|
-
defineCapability({
|
|
502
|
-
id: "workspace_map_basic",
|
|
503
|
-
label: "Workspace Map",
|
|
504
|
-
description: "Generate a compact local map of the workspace so agents navigate with less rediscovery and less context waste.",
|
|
505
|
-
bucket: "automatic_context_cost_optimization",
|
|
506
|
-
availability: { free: true, pro: true },
|
|
507
|
-
implementationStatus: "partial",
|
|
508
|
-
surfaceType: "evidence",
|
|
509
|
-
}),
|
|
510
|
-
defineCapability({
|
|
511
|
-
id: "visual_qa_weekly",
|
|
512
|
-
label: "Weekly Visual QA",
|
|
513
|
-
description: "Run screenshot-backed Visual QA locally with a weekly Free quota when local screenshot tooling is available.",
|
|
514
|
-
bucket: "visual_qa_with_screenshots",
|
|
515
|
-
availability: { free: true, pro: true },
|
|
516
|
-
quota: { period: "week", limit: 1 },
|
|
517
|
-
}),
|
|
518
|
-
defineCapability({
|
|
519
|
-
id: "visual_qa_advanced",
|
|
520
|
-
label: "Advanced Visual QA",
|
|
521
|
-
description: "Run more Visual QA checks with flow coverage, saved reports, and richer evidence where supported.",
|
|
522
|
-
bucket: "visual_qa_with_screenshots",
|
|
523
|
-
availability: { free: false, pro: true },
|
|
524
|
-
implementationStatus: "partial",
|
|
525
|
-
quota: { period: "month", limit: 50 },
|
|
526
|
-
}),
|
|
527
|
-
|
|
528
|
-
defineCapability({
|
|
529
|
-
id: "skills_security_basic",
|
|
530
|
-
label: "Basic skills security",
|
|
531
|
-
description: "Check risky local skill packs and capability surfaces before they create hidden workflow risk.",
|
|
532
|
-
bucket: "seamless_agent_security",
|
|
533
|
-
availability: { free: true, pro: true },
|
|
534
|
-
surfaceType: "detection",
|
|
535
|
-
}),
|
|
536
|
-
defineCapability({
|
|
537
|
-
id: "skill_trust_scan_basic",
|
|
538
|
-
label: "Skill trust scan",
|
|
539
|
-
description: "Deterministically classify reviewed, deferred, blocked, or warning-level skill sources and surface provenance or safety concerns locally.",
|
|
540
|
-
bucket: "seamless_agent_security",
|
|
541
|
-
availability: { free: true, pro: true },
|
|
542
|
-
surfaceType: "warning",
|
|
543
|
-
}),
|
|
544
|
-
defineCapability({
|
|
545
|
-
id: "skills_security_advanced",
|
|
546
|
-
label: "Advanced skills security",
|
|
547
|
-
description: "Add deeper trusted-skill metadata, risk detail, and remediation guidance for local skill packs.",
|
|
548
|
-
bucket: "seamless_agent_security",
|
|
549
|
-
availability: { free: false, pro: true },
|
|
550
|
-
surfaceType: "detection",
|
|
551
|
-
}),
|
|
552
|
-
defineCapability({
|
|
553
|
-
id: "instruction_risk_basic",
|
|
554
|
-
label: "Basic risky-instruction visibility",
|
|
555
|
-
description: "Flag risky instructions, likely scope overrides, and suspicious workflow requests in local evidence.",
|
|
556
|
-
bucket: "seamless_agent_security",
|
|
557
|
-
availability: { free: true, pro: true },
|
|
558
|
-
surfaceType: "warning",
|
|
559
|
-
}),
|
|
560
|
-
defineCapability({
|
|
561
|
-
id: "instruction_risk_advanced",
|
|
562
|
-
label: "Advanced instruction-risk defense",
|
|
563
|
-
description: "Show deeper reason codes, safer summaries, and remediation guidance for risky agent requests.",
|
|
564
|
-
bucket: "seamless_agent_security",
|
|
565
|
-
availability: { free: false, pro: true },
|
|
566
|
-
surfaceType: "warning",
|
|
567
|
-
}),
|
|
568
|
-
defineCapability({
|
|
569
|
-
id: "prompt_injection_basic",
|
|
570
|
-
label: "Basic prompt-injection visibility",
|
|
571
|
-
description: "Surface prompt-injection-like instruction patterns in local evidence where supported.",
|
|
572
|
-
bucket: "seamless_agent_security",
|
|
573
|
-
availability: { free: true, pro: true },
|
|
574
|
-
surfaceType: "warning",
|
|
575
|
-
}),
|
|
576
|
-
defineCapability({
|
|
577
|
-
id: "prompt_injection_advanced",
|
|
578
|
-
label: "Advanced prompt-injection defense",
|
|
579
|
-
description: "Add deeper prompt-injection analysis, source-trust evidence, and remediation guidance where supported.",
|
|
580
|
-
bucket: "seamless_agent_security",
|
|
581
|
-
availability: { free: false, pro: true },
|
|
582
|
-
surfaceType: "warning",
|
|
583
|
-
}),
|
|
584
|
-
defineCapability({
|
|
585
|
-
id: "source_trust_basic",
|
|
586
|
-
label: "Basic source-trust visibility",
|
|
587
|
-
description: "Classify whether instructions came from trusted local sources or untrusted content.",
|
|
588
|
-
bucket: "seamless_agent_security",
|
|
589
|
-
availability: { free: true, pro: true },
|
|
590
|
-
surfaceType: "detection",
|
|
591
|
-
}),
|
|
592
|
-
defineCapability({
|
|
593
|
-
id: "source_trust_advanced",
|
|
594
|
-
label: "Advanced source-trust evidence",
|
|
595
|
-
description: "Keep deeper source-trust evidence and data-only handling guidance for untrusted content.",
|
|
596
|
-
bucket: "seamless_agent_security",
|
|
597
|
-
availability: { free: false, pro: true },
|
|
598
|
-
surfaceType: "evidence",
|
|
599
|
-
}),
|
|
600
|
-
defineCapability({
|
|
601
|
-
id: "intent_mismatch_basic",
|
|
602
|
-
label: "Basic intent-mismatch visibility",
|
|
603
|
-
description: "Flag when a proposed action appears unrelated to the stated task.",
|
|
604
|
-
bucket: "seamless_agent_security",
|
|
605
|
-
availability: { free: true, pro: true },
|
|
606
|
-
surfaceType: "warning",
|
|
607
|
-
}),
|
|
608
|
-
defineCapability({
|
|
609
|
-
id: "intent_mismatch_advanced",
|
|
610
|
-
label: "Advanced intent-mismatch evidence",
|
|
611
|
-
description: "Keep deeper local evidence and remediation guidance when discovered instructions conflict with the intended task.",
|
|
612
|
-
bucket: "seamless_agent_security",
|
|
613
|
-
availability: { free: false, pro: true },
|
|
614
|
-
surfaceType: "evidence",
|
|
615
|
-
}),
|
|
616
|
-
defineCapability({
|
|
617
|
-
id: "tool_risk_basic",
|
|
618
|
-
label: "Basic tool risk visibility",
|
|
619
|
-
description: "Show whether a local tool appears write-capable, network-capable, or otherwise higher risk.",
|
|
620
|
-
bucket: "seamless_agent_security",
|
|
621
|
-
availability: { free: true, pro: true },
|
|
622
|
-
surfaceType: "detection",
|
|
623
|
-
}),
|
|
624
|
-
defineCapability({
|
|
625
|
-
id: "tool_risk_advanced",
|
|
626
|
-
label: "Advanced tool risk evidence",
|
|
627
|
-
description: "Classify local tool actions with deeper reason codes and remediation guidance.",
|
|
628
|
-
bucket: "seamless_agent_security",
|
|
629
|
-
availability: { free: false, pro: true },
|
|
630
|
-
surfaceType: "evidence",
|
|
631
|
-
}),
|
|
632
|
-
defineCapability({
|
|
633
|
-
id: "mcp_tool_risk_basic",
|
|
634
|
-
label: "Basic MCP tool visibility",
|
|
635
|
-
description: "Show basic MCP server and tool risk, including unknown or write-capable targets.",
|
|
636
|
-
bucket: "seamless_agent_security",
|
|
637
|
-
availability: { free: true, pro: true },
|
|
638
|
-
surfaceType: "detection",
|
|
639
|
-
}),
|
|
640
|
-
defineCapability({
|
|
641
|
-
id: "mcp_tool_risk_advanced",
|
|
642
|
-
label: "Advanced MCP tool evidence",
|
|
643
|
-
description: "Keep deeper MCP risk details, trust signals, and remediation guidance where supported.",
|
|
644
|
-
bucket: "seamless_agent_security",
|
|
645
|
-
availability: { free: false, pro: true },
|
|
646
|
-
surfaceType: "evidence",
|
|
647
|
-
}),
|
|
648
|
-
defineCapability({
|
|
649
|
-
id: "browser_capability_basic",
|
|
650
|
-
label: "Browser capability visibility",
|
|
651
|
-
description: "Detect browser-capable work and classify local preview versus external browser targets.",
|
|
652
|
-
bucket: "seamless_agent_security",
|
|
653
|
-
availability: { free: true, pro: true },
|
|
654
|
-
surfaceType: "detection",
|
|
655
|
-
}),
|
|
656
|
-
defineCapability({
|
|
657
|
-
id: "browser_governance_advanced",
|
|
658
|
-
label: "Browser governance readiness",
|
|
659
|
-
description: "Show deeper browser capability guidance, approvals, and domain-boundary readiness where supported.",
|
|
660
|
-
bucket: "seamless_agent_security",
|
|
661
|
-
availability: { free: false, pro: true },
|
|
662
|
-
implementationStatus: "partial",
|
|
663
|
-
surfaceType: "warning",
|
|
664
|
-
}),
|
|
665
|
-
defineCapability({
|
|
666
|
-
id: "browser_domain_boundary_readiness",
|
|
667
|
-
label: "Domain-boundary readiness",
|
|
668
|
-
description: "Show whether browser work has explicit domain boundaries where supported, without claiming universal containment.",
|
|
669
|
-
bucket: "seamless_agent_security",
|
|
670
|
-
availability: { free: false, pro: true },
|
|
671
|
-
implementationStatus: "partial",
|
|
672
|
-
surfaceType: "policy",
|
|
673
|
-
}),
|
|
674
|
-
defineCapability({
|
|
675
|
-
id: "sensitive_file_guard",
|
|
676
|
-
label: "Sensitive file guard",
|
|
677
|
-
description: "Classify env, auth, billing, deploy, CI, and other sensitive file targets before risky edits.",
|
|
678
|
-
bucket: "seamless_agent_security",
|
|
679
|
-
availability: { free: true, pro: true },
|
|
680
|
-
surfaceType: "warning",
|
|
681
|
-
}),
|
|
682
|
-
defineCapability({
|
|
683
|
-
id: "secret_exposure_guard",
|
|
684
|
-
label: "Secret exposure guard",
|
|
685
|
-
description: "Detect likely secret or token exposure and block clearly unsafe actions where supported.",
|
|
686
|
-
bucket: "seamless_agent_security",
|
|
687
|
-
availability: { free: false, pro: true },
|
|
688
|
-
surfaceType: "block",
|
|
689
|
-
}),
|
|
690
|
-
defineCapability({
|
|
691
|
-
id: "destructive_command_guard",
|
|
692
|
-
label: "Destructive command guard",
|
|
693
|
-
description: "Detect destructive commands and block clearly unsafe actions where supported.",
|
|
694
|
-
bucket: "seamless_agent_security",
|
|
695
|
-
availability: { free: false, pro: true },
|
|
696
|
-
surfaceType: "block",
|
|
697
|
-
}),
|
|
698
|
-
defineCapability({
|
|
699
|
-
id: "scoped_action_guard_basic",
|
|
700
|
-
label: "Scoped action guard",
|
|
701
|
-
description: "Evaluate risky agent actions before they happen with local allow, warn, approval-required, or block decisions.",
|
|
702
|
-
bucket: "seamless_agent_security",
|
|
703
|
-
availability: { free: true, pro: true },
|
|
704
|
-
surfaceType: "warning",
|
|
705
|
-
}),
|
|
706
|
-
defineCapability({
|
|
707
|
-
id: "scoped_action_guard_advanced",
|
|
708
|
-
label: "Advanced scoped action guard",
|
|
709
|
-
description: "Add deeper scope, source-trust, and remediation guidance for sensitive actions where supported.",
|
|
710
|
-
bucket: "seamless_agent_security",
|
|
711
|
-
availability: { free: false, pro: true },
|
|
712
|
-
implementationStatus: "partial",
|
|
713
|
-
surfaceType: "approval",
|
|
714
|
-
}),
|
|
715
|
-
defineCapability({
|
|
716
|
-
id: "approval_required_decisions",
|
|
717
|
-
label: "Approval-required decisions",
|
|
718
|
-
description: "Require explicit approval for sensitive but legitimate actions where supported.",
|
|
719
|
-
bucket: "seamless_agent_security",
|
|
720
|
-
availability: { free: false, pro: true },
|
|
721
|
-
surfaceType: "approval",
|
|
722
|
-
}),
|
|
723
|
-
defineCapability({
|
|
724
|
-
id: "least_privilege_profile",
|
|
725
|
-
label: "Least-privilege profile",
|
|
726
|
-
description: "Apply a local least-privilege policy profile that narrows agent scope by default.",
|
|
727
|
-
bucket: "seamless_agent_security",
|
|
728
|
-
availability: { free: false, pro: true },
|
|
729
|
-
surfaceType: "policy",
|
|
730
|
-
}),
|
|
731
|
-
defineCapability({
|
|
732
|
-
id: "zero_standing_permissions_posture",
|
|
733
|
-
label: "Zero standing permissions posture",
|
|
734
|
-
description: "Favor no broad always-on permissions and keep proof of what was allowed, warned, or blocked.",
|
|
735
|
-
bucket: "seamless_agent_security",
|
|
736
|
-
availability: { free: false, pro: true },
|
|
737
|
-
surfaceType: "policy",
|
|
738
|
-
}),
|
|
739
|
-
defineCapability({
|
|
740
|
-
id: "scoped_jit_style_access",
|
|
741
|
-
label: "Scoped/JIT-style access",
|
|
742
|
-
description: "Use scoped or just-in-time-style access fields where local adapters and enforcement support it.",
|
|
743
|
-
bucket: "seamless_agent_security",
|
|
744
|
-
availability: { free: false, pro: true },
|
|
745
|
-
implementationStatus: "partial",
|
|
746
|
-
surfaceType: "approval",
|
|
747
|
-
}),
|
|
748
|
-
defineCapability({
|
|
749
|
-
id: "safe_path_recommendation_basic",
|
|
750
|
-
label: "Safe Path recommendation",
|
|
751
|
-
description: "Generate a deterministic local Safe Path receipt with bounded safer alternatives instead of only saying risky or blocked.",
|
|
752
|
-
bucket: "seamless_agent_security",
|
|
753
|
-
availability: { free: true, pro: true },
|
|
754
|
-
implementationStatus: "supported",
|
|
755
|
-
surfaceType: "warning",
|
|
756
|
-
}),
|
|
757
|
-
defineCapability({
|
|
758
|
-
id: "least_privilege_scope_reduction_basic",
|
|
759
|
-
label: "Least-privilege scope reduction",
|
|
760
|
-
description: "Recommend the smallest useful path, tool, domain, and access scope that still completes the task.",
|
|
761
|
-
bucket: "seamless_agent_security",
|
|
762
|
-
availability: { free: true, pro: true },
|
|
763
|
-
implementationStatus: "supported",
|
|
764
|
-
surfaceType: "policy",
|
|
765
|
-
}),
|
|
766
|
-
defineCapability({
|
|
767
|
-
id: "jit_temporary_scope_fields_basic",
|
|
768
|
-
label: "JIT-style temporary scope fields",
|
|
769
|
-
description: "Represent temporary-scope fields where supported without claiming universal JIT enforcement.",
|
|
770
|
-
bucket: "seamless_agent_security",
|
|
771
|
-
availability: { free: false, pro: true },
|
|
772
|
-
implementationStatus: "partial",
|
|
773
|
-
surfaceType: "approval",
|
|
774
|
-
}),
|
|
775
|
-
defineCapability({
|
|
776
|
-
id: "approval_boundary_safe_path_basic",
|
|
777
|
-
label: "Safe Path approval boundary",
|
|
778
|
-
description: "Keep approval boundaries visible inside Safe Path receipts for sensitive but legitimate actions.",
|
|
779
|
-
bucket: "seamless_agent_security",
|
|
780
|
-
availability: { free: true, pro: true },
|
|
781
|
-
implementationStatus: "supported",
|
|
782
|
-
surfaceType: "approval",
|
|
783
|
-
}),
|
|
784
|
-
defineCapability({
|
|
785
|
-
id: "safe_path_receipt_basic",
|
|
786
|
-
label: "Safe Path receipt",
|
|
787
|
-
description: "Write a local Safe Path receipt with reductions, approval boundaries, evidence requirements, and next action.",
|
|
788
|
-
bucket: "evidence_and_history",
|
|
789
|
-
availability: { free: true, pro: true },
|
|
790
|
-
implementationStatus: "supported",
|
|
791
|
-
surfaceType: "evidence",
|
|
792
|
-
}),
|
|
793
|
-
defineCapability({
|
|
794
|
-
id: "install_intake_risk_basic",
|
|
795
|
-
label: "Install / intake risk foundation",
|
|
796
|
-
description: "Scan local package, MCP, extension, guidance, connector, and skill-source intake surfaces before they become trusted runtime tools.",
|
|
797
|
-
bucket: "seamless_agent_security",
|
|
798
|
-
availability: { free: true, pro: true },
|
|
799
|
-
implementationStatus: "supported",
|
|
800
|
-
surfaceType: "detection",
|
|
801
|
-
}),
|
|
802
|
-
defineCapability({
|
|
803
|
-
id: "mcp_intake_visibility_basic",
|
|
804
|
-
label: "MCP intake visibility",
|
|
805
|
-
description: "Detect local MCP servers and tools, classify reviewed versus unknown sources, and surface risky capabilities before runtime use.",
|
|
806
|
-
bucket: "seamless_agent_security",
|
|
807
|
-
availability: { free: true, pro: true },
|
|
808
|
-
implementationStatus: "supported",
|
|
809
|
-
surfaceType: "detection",
|
|
810
|
-
}),
|
|
811
|
-
defineCapability({
|
|
812
|
-
id: "package_intake_visibility_basic",
|
|
813
|
-
label: "Package intake visibility",
|
|
814
|
-
description: "Detect local package dependencies and npm script risk signals such as install hooks, deploy scripts, and network-heavy lifecycle behavior.",
|
|
815
|
-
bucket: "seamless_agent_security",
|
|
816
|
-
availability: { free: true, pro: true },
|
|
817
|
-
implementationStatus: "supported",
|
|
818
|
-
surfaceType: "warning",
|
|
819
|
-
}),
|
|
820
|
-
defineCapability({
|
|
821
|
-
id: "extension_intake_visibility_basic",
|
|
822
|
-
label: "Extension intake visibility",
|
|
823
|
-
description: "Detect local editor extension and guidance-adapter intake surfaces and classify missing publisher or broad-access risk signals.",
|
|
824
|
-
bucket: "seamless_agent_security",
|
|
825
|
-
availability: { free: true, pro: true },
|
|
826
|
-
implementationStatus: "supported",
|
|
827
|
-
surfaceType: "detection",
|
|
828
|
-
}),
|
|
829
|
-
defineCapability({
|
|
830
|
-
id: "connector_intake_visibility_basic",
|
|
831
|
-
label: "Connector intake visibility",
|
|
832
|
-
description: "Represent reviewed, deferred, and blocked connector-like or source-backed integrations in the local intake summary without trusting them automatically.",
|
|
833
|
-
bucket: "seamless_agent_security",
|
|
834
|
-
availability: { free: true, pro: true },
|
|
835
|
-
implementationStatus: "supported",
|
|
836
|
-
surfaceType: "detection",
|
|
837
|
-
}),
|
|
838
|
-
defineCapability({
|
|
839
|
-
id: "skill_source_intake_risk_basic",
|
|
840
|
-
label: "Skill/source intake risk",
|
|
841
|
-
description: "Carry reviewed, deferred, blocked, script-bearing, or context-heavy skill-source signals into local intake classification and runtime trust decisions.",
|
|
842
|
-
bucket: "seamless_agent_security",
|
|
843
|
-
availability: { free: true, pro: true },
|
|
844
|
-
implementationStatus: "supported",
|
|
845
|
-
surfaceType: "warning",
|
|
846
|
-
}),
|
|
847
|
-
defineCapability({
|
|
848
|
-
id: "intake_safe_next_action_basic",
|
|
849
|
-
label: "Intake safe next action",
|
|
850
|
-
description: "Turn detected intake risk into a bounded safe next action such as review first, no-secrets, no-network, dry-run, or block until reviewed.",
|
|
851
|
-
bucket: "seamless_agent_security",
|
|
852
|
-
availability: { free: true, pro: true },
|
|
853
|
-
implementationStatus: "supported",
|
|
854
|
-
surfaceType: "policy",
|
|
855
|
-
}),
|
|
856
|
-
defineCapability({
|
|
857
|
-
id: "intake_receipt_basic",
|
|
858
|
-
label: "Intake receipt",
|
|
859
|
-
description: "Write a local install-intake receipt with reviewed, unknown, deferred, blocked, and high-risk counts plus compact evidence and next action.",
|
|
860
|
-
bucket: "evidence_and_history",
|
|
861
|
-
availability: { free: true, pro: true },
|
|
862
|
-
implementationStatus: "supported",
|
|
863
|
-
surfaceType: "evidence",
|
|
864
|
-
}),
|
|
865
|
-
defineCapability({
|
|
866
|
-
id: "skills_security_dogfood_basic",
|
|
867
|
-
label: "Skills security dogfood",
|
|
868
|
-
description: "Verify malicious, deferred, script-bearing, and context-heavy skill behavior stays bounded before Safe Path relies on it.",
|
|
869
|
-
bucket: "seamless_agent_security",
|
|
870
|
-
availability: { free: true, pro: true },
|
|
871
|
-
implementationStatus: "supported",
|
|
872
|
-
surfaceType: "detection",
|
|
873
|
-
}),
|
|
874
|
-
defineCapability({
|
|
875
|
-
id: "skill_route_context_safety_basic",
|
|
876
|
-
label: "Skill-route context safety",
|
|
877
|
-
description: "Carry skill evidence requirements, trust warnings, and context-weight signals into Safe Path recommendations.",
|
|
878
|
-
bucket: "seamless_agent_security",
|
|
879
|
-
availability: { free: true, pro: true },
|
|
880
|
-
implementationStatus: "supported",
|
|
881
|
-
surfaceType: "warning",
|
|
882
|
-
}),
|
|
883
|
-
defineCapability({
|
|
884
|
-
id: "enforcement_evidence",
|
|
885
|
-
label: "Local enforcement evidence",
|
|
886
|
-
description: "Write local evidence for evaluated agent actions with redaction-safe summaries.",
|
|
887
|
-
bucket: "evidence_and_history",
|
|
888
|
-
availability: { free: true, pro: true },
|
|
889
|
-
surfaceType: "evidence",
|
|
890
|
-
}),
|
|
891
|
-
defineCapability({
|
|
892
|
-
id: "evidence_latest",
|
|
893
|
-
label: "Latest local evidence",
|
|
894
|
-
description: "Keep the latest local summary and evidence for the current project.",
|
|
895
|
-
bucket: "evidence_and_history",
|
|
896
|
-
availability: { free: true, pro: true },
|
|
897
|
-
quota: { retention: "latest" },
|
|
898
|
-
surfaceType: "evidence",
|
|
899
|
-
}),
|
|
900
|
-
defineCapability({
|
|
901
|
-
id: "evidence_history_export",
|
|
902
|
-
label: "Evidence history and export",
|
|
903
|
-
description: "Keep longer local history and exportable evidence where supported.",
|
|
904
|
-
bucket: "evidence_and_history",
|
|
905
|
-
availability: { free: false, pro: true },
|
|
906
|
-
implementationStatus: "partial",
|
|
907
|
-
quota: { retentionDays: 30, export: true },
|
|
908
|
-
surfaceType: "evidence",
|
|
909
|
-
}),
|
|
910
|
-
|
|
911
|
-
defineCapability({
|
|
912
|
-
id: "agent_security_basic",
|
|
913
|
-
label: "Legacy basic agent security",
|
|
914
|
-
description: "Compatibility alias for older tests and internal surfaces.",
|
|
915
|
-
bucket: "seamless_agent_security",
|
|
916
|
-
availability: { free: true, pro: true },
|
|
917
|
-
implementationStatus: "supported",
|
|
918
|
-
surfaceType: "docs_only",
|
|
919
|
-
safeForPublicCopy: false,
|
|
920
|
-
}),
|
|
921
|
-
defineCapability({
|
|
922
|
-
id: "agent_security_advanced",
|
|
923
|
-
label: "Legacy advanced agent security",
|
|
924
|
-
description: "Compatibility alias for older tests and internal surfaces.",
|
|
925
|
-
bucket: "seamless_agent_security",
|
|
926
|
-
availability: { free: false, pro: true },
|
|
927
|
-
implementationStatus: "supported",
|
|
928
|
-
surfaceType: "docs_only",
|
|
929
|
-
safeForPublicCopy: false,
|
|
930
|
-
}),
|
|
931
|
-
defineCapability({
|
|
932
|
-
id: "source_trust",
|
|
933
|
-
label: "Legacy source trust",
|
|
934
|
-
description: "Compatibility alias for older tests and internal surfaces.",
|
|
935
|
-
bucket: "seamless_agent_security",
|
|
936
|
-
availability: { free: false, pro: true },
|
|
937
|
-
implementationStatus: "supported",
|
|
938
|
-
surfaceType: "docs_only",
|
|
939
|
-
safeForPublicCopy: false,
|
|
940
|
-
}),
|
|
941
|
-
defineCapability({
|
|
942
|
-
id: "intent_mismatch",
|
|
943
|
-
label: "Legacy intent mismatch",
|
|
944
|
-
description: "Compatibility alias for older tests and internal surfaces.",
|
|
945
|
-
bucket: "seamless_agent_security",
|
|
946
|
-
availability: { free: false, pro: true },
|
|
947
|
-
implementationStatus: "supported",
|
|
948
|
-
surfaceType: "docs_only",
|
|
949
|
-
safeForPublicCopy: false,
|
|
950
|
-
}),
|
|
951
|
-
defineCapability({
|
|
952
|
-
id: "zero_standing_permissions_policy",
|
|
953
|
-
label: "Legacy zero standing permissions policy",
|
|
954
|
-
description: "Compatibility alias for older tests and internal surfaces.",
|
|
955
|
-
bucket: "seamless_agent_security",
|
|
956
|
-
availability: { free: false, pro: true },
|
|
957
|
-
implementationStatus: "supported",
|
|
958
|
-
surfaceType: "docs_only",
|
|
959
|
-
safeForPublicCopy: false,
|
|
960
|
-
}),
|
|
961
|
-
|
|
962
|
-
defineCapability({
|
|
963
|
-
id: "unified_work_control_receipt_basic",
|
|
964
|
-
label: "Unified work-control receipt",
|
|
965
|
-
description: "Aggregate governance, safe-path, intake, skills, and proof into one compact local work-control receipt with final state, next action, and evidence paths.",
|
|
966
|
-
bucket: "evidence_and_history",
|
|
967
|
-
availability: { free: true, pro: true },
|
|
968
|
-
implementationStatus: "supported",
|
|
969
|
-
surfaceType: "evidence",
|
|
970
|
-
}),
|
|
971
|
-
defineCapability({
|
|
972
|
-
id: "receipt_correlation_basic",
|
|
973
|
-
label: "Receipt correlation",
|
|
974
|
-
description: "Correlate governance, safe-path, intake, and skills receipts into a single deterministic local summary without replacing the individual layer receipts.",
|
|
975
|
-
bucket: "evidence_and_history",
|
|
976
|
-
availability: { free: true, pro: true },
|
|
977
|
-
implementationStatus: "supported",
|
|
978
|
-
surfaceType: "evidence",
|
|
979
|
-
}),
|
|
980
|
-
defineCapability({
|
|
981
|
-
id: "session_handoff_receipt_basic",
|
|
982
|
-
label: "Session handoff receipt",
|
|
983
|
-
description: "Generate a compact handoff from the latest work-control receipt with what was checked, what was not, and what to do next.",
|
|
984
|
-
bucket: "automatic_context_cost_optimization",
|
|
985
|
-
availability: { free: true, pro: true },
|
|
986
|
-
implementationStatus: "supported",
|
|
987
|
-
surfaceType: "evidence",
|
|
988
|
-
}),
|
|
989
|
-
defineCapability({
|
|
990
|
-
id: "next_safest_action_basic",
|
|
991
|
-
label: "Next safest action",
|
|
992
|
-
description: "Compute a prioritized next safest action from correlated guard, governance, safe-path, and intake signals.",
|
|
993
|
-
bucket: "seamless_agent_security",
|
|
994
|
-
availability: { free: true, pro: true },
|
|
995
|
-
implementationStatus: "supported",
|
|
996
|
-
surfaceType: "policy",
|
|
997
|
-
}),
|
|
998
|
-
defineCapability({
|
|
999
|
-
id: "do_not_repeat_guidance_basic",
|
|
1000
|
-
label: "Do-not-repeat guidance",
|
|
1001
|
-
description: "Generate compact do-not-repeat instructions from correlated proof, route, and receipt signals to reduce repeated work in the next session.",
|
|
1002
|
-
bucket: "automatic_context_cost_optimization",
|
|
1003
|
-
availability: { free: true, pro: true },
|
|
1004
|
-
implementationStatus: "supported",
|
|
1005
|
-
surfaceType: "policy",
|
|
1006
|
-
}),
|
|
1007
|
-
|
|
1008
|
-
// ── Context Intelligence Completion v1 ────────────────────────────────────────
|
|
1009
|
-
defineCapability({
|
|
1010
|
-
id: "brain_pack_basic",
|
|
1011
|
-
label: "Brain Pack Basic",
|
|
1012
|
-
description: "Generate a compact local brain pack with stable project, repo conventions, context rules, and capability recommendations for session continuity.",
|
|
1013
|
-
bucket: "automatic_context_cost_optimization",
|
|
1014
|
-
availability: { free: true, pro: true },
|
|
1015
|
-
implementationStatus: "supported",
|
|
1016
|
-
surfaceType: "evidence",
|
|
1017
|
-
}),
|
|
1018
|
-
defineCapability({
|
|
1019
|
-
id: "recipe_detection_basic",
|
|
1020
|
-
label: "Recipe detection",
|
|
1021
|
-
description: "Deterministically detect the likely workflow recipe from task signals and recommend the matching capability pack without duplicating the capability router.",
|
|
1022
|
-
bucket: "automatic_context_cost_optimization",
|
|
1023
|
-
availability: { free: true, pro: true },
|
|
1024
|
-
implementationStatus: "supported",
|
|
1025
|
-
surfaceType: "detection",
|
|
1026
|
-
}),
|
|
1027
|
-
defineCapability({
|
|
1028
|
-
id: "target_specific_handoff_basic",
|
|
1029
|
-
label: "Target-specific handoff",
|
|
1030
|
-
description: "Generate target-appropriate session context (Claude, Codex, local model, generic) with emphasis, scope, and command guidance matched to the target.",
|
|
1031
|
-
bucket: "automatic_context_cost_optimization",
|
|
1032
|
-
availability: { free: true, pro: true },
|
|
1033
|
-
implementationStatus: "supported",
|
|
1034
|
-
surfaceType: "policy",
|
|
1035
|
-
}),
|
|
1036
|
-
defineCapability({
|
|
1037
|
-
id: "dynamic_session_commands_basic",
|
|
1038
|
-
label: "Dynamic session commands",
|
|
1039
|
-
description: "Generate task- and target-aware commands for session context instead of a static list, so agents always get the right first commands.",
|
|
1040
|
-
bucket: "automatic_context_cost_optimization",
|
|
1041
|
-
availability: { free: true, pro: true },
|
|
1042
|
-
implementationStatus: "supported",
|
|
1043
|
-
surfaceType: "policy",
|
|
1044
|
-
}),
|
|
1045
|
-
defineCapability({
|
|
1046
|
-
id: "capability_recommender_context_bridge_basic",
|
|
1047
|
-
label: "Capability recommender context bridge",
|
|
1048
|
-
description: "Embed capability recommender output (pack, reason, next action) into session context so agents always know which Avorelo capability should handle the task.",
|
|
1049
|
-
bucket: "automatic_context_cost_optimization",
|
|
1050
|
-
availability: { free: true, pro: true },
|
|
1051
|
-
implementationStatus: "supported",
|
|
1052
|
-
surfaceType: "evidence",
|
|
1053
|
-
}),
|
|
1054
|
-
defineCapability({
|
|
1055
|
-
id: "skills_route_fallback_basic",
|
|
1056
|
-
label: "Skills route fallback",
|
|
1057
|
-
description: "When no skills route receipt exists and the task is suitable, include the exact fallback command for source-backed workflow guidance.",
|
|
1058
|
-
bucket: "automatic_context_cost_optimization",
|
|
1059
|
-
availability: { free: true, pro: true },
|
|
1060
|
-
implementationStatus: "supported",
|
|
1061
|
-
surfaceType: "policy",
|
|
1062
|
-
}),
|
|
1063
|
-
defineCapability({
|
|
1064
|
-
id: "dogfood_feedback_loop_basic",
|
|
1065
|
-
label: "Dogfood feedback loop",
|
|
1066
|
-
description: "Capture structured dogfood feedback (friction, missing context, wrong surface, capability hint) as product-learning events rather than only prose.",
|
|
1067
|
-
bucket: "automatic_context_cost_optimization",
|
|
1068
|
-
availability: { free: true, pro: true },
|
|
1069
|
-
implementationStatus: "supported",
|
|
1070
|
-
surfaceType: "evidence",
|
|
1071
|
-
}),
|
|
1072
|
-
defineCapability({
|
|
1073
|
-
id: "task_context_pack_basic",
|
|
1074
|
-
label: "Task context pack",
|
|
1075
|
-
description: "Build a compact task-specific context supplement from brain pack, workspace map, and work-control state for high-value continuation sessions.",
|
|
1076
|
-
bucket: "automatic_context_cost_optimization",
|
|
1077
|
-
availability: { free: true, pro: true },
|
|
1078
|
-
implementationStatus: "partial",
|
|
1079
|
-
surfaceType: "evidence",
|
|
1080
|
-
}),
|
|
1081
|
-
// Agent Model Orchestration Foundation v1
|
|
1082
|
-
defineCapability({
|
|
1083
|
-
id: "worker_inventory_productized_basic",
|
|
1084
|
-
label: "Worker / model inventory",
|
|
1085
|
-
description: "Normalized local inventory of detected workers (Codex, Claude Code, LM Studio, Ollama, git, test runner) with availability, worker state, quota signal, cost/trust/privacy tiers, and supported roles.",
|
|
1086
|
-
bucket: "better_ai_coding_tasks",
|
|
1087
|
-
availability: { free: true, pro: true },
|
|
1088
|
-
implementationStatus: "supported",
|
|
1089
|
-
surfaceType: "detection",
|
|
1090
|
-
}),
|
|
1091
|
-
defineCapability({
|
|
1092
|
-
id: "quota_fallback_awareness_basic",
|
|
1093
|
-
label: "Quota / fallback awareness",
|
|
1094
|
-
description: "Detect recently_limited, needs_login, recently_failed, and unavailable workers; produce reason codes (WORKER_RECENTLY_LIMITED, WORKER_NEEDS_LOGIN, LOCAL_WORKER_AVAILABLE, FALLBACK_RECOMMENDED, ESCALATION_RECOMMENDED) and recommend the cheapest capable safe alternative.",
|
|
1095
|
-
bucket: "better_ai_coding_tasks",
|
|
1096
|
-
availability: { free: true, pro: true },
|
|
1097
|
-
implementationStatus: "supported",
|
|
1098
|
-
surfaceType: "policy",
|
|
1099
|
-
}),
|
|
1100
|
-
defineCapability({
|
|
1101
|
-
id: "stage_based_route_plan_basic",
|
|
1102
|
-
label: "Stage-based route plan",
|
|
1103
|
-
description: "Split work into bounded stages (inspect, plan, implement, verify, security_review, review, handoff) and select the cheapest capable safe worker for each stage based on role, risk, sensitivity, and quota signals.",
|
|
1104
|
-
bucket: "better_ai_coding_tasks",
|
|
1105
|
-
availability: { free: true, pro: true },
|
|
1106
|
-
implementationStatus: "supported",
|
|
1107
|
-
surfaceType: "policy",
|
|
1108
|
-
}),
|
|
1109
|
-
defineCapability({
|
|
1110
|
-
id: "cheapest_capable_safe_worker_basic",
|
|
1111
|
-
label: "Cheapest capable safe worker",
|
|
1112
|
-
description: "Select the worker that is capable for the stage role, safe for task risk/sensitivity, not recently limited, privacy-compatible, and cost-efficient only after capability and safety checks pass.",
|
|
1113
|
-
bucket: "better_ai_coding_tasks",
|
|
1114
|
-
availability: { free: true, pro: true },
|
|
1115
|
-
implementationStatus: "supported",
|
|
1116
|
-
surfaceType: "policy",
|
|
1117
|
-
}),
|
|
1118
|
-
defineCapability({
|
|
1119
|
-
id: "local_worker_recommendation_basic",
|
|
1120
|
-
label: "Local worker recommendation",
|
|
1121
|
-
description: "Recommend LM Studio or Ollama for low-sensitivity inspection, planning, repo reading, and summary stages when a local worker is available and safe, avoiding premium external spend.",
|
|
1122
|
-
bucket: "automatic_context_cost_optimization",
|
|
1123
|
-
availability: { free: true, pro: true },
|
|
1124
|
-
implementationStatus: "supported",
|
|
1125
|
-
surfaceType: "policy",
|
|
1126
|
-
}),
|
|
1127
|
-
defineCapability({
|
|
1128
|
-
id: "strong_model_escalation_basic",
|
|
1129
|
-
label: "Strong model escalation",
|
|
1130
|
-
description: "Escalate to a trusted higher-quality worker (Claude Code, Codex) for complex implementation, high-risk, security-sensitive, or final review stages when local workers are insufficient.",
|
|
1131
|
-
bucket: "better_ai_coding_tasks",
|
|
1132
|
-
availability: { free: true, pro: true },
|
|
1133
|
-
implementationStatus: "supported",
|
|
1134
|
-
surfaceType: "policy",
|
|
1135
|
-
}),
|
|
1136
|
-
defineCapability({
|
|
1137
|
-
id: "handoff_prompt_generation_basic",
|
|
1138
|
-
label: "Handoff prompt generation",
|
|
1139
|
-
description: "Generate compact, redacted handoff prompts for worker-to-worker transitions (Codex to Claude, Claude to local, local to next session) including mission, done/not-redo, gaps, next action, and safe path constraints.",
|
|
1140
|
-
bucket: "better_ai_coding_tasks",
|
|
1141
|
-
availability: { free: true, pro: true },
|
|
1142
|
-
implementationStatus: "supported",
|
|
1143
|
-
surfaceType: "evidence",
|
|
1144
|
-
}),
|
|
1145
|
-
defineCapability({
|
|
1146
|
-
id: "orchestration_receipt_basic",
|
|
1147
|
-
label: "Orchestration receipt",
|
|
1148
|
-
description: "Write a local receipt (contract: avorelo.agentModelOrchestration.v1) with route ID, stage plan, selected/fallback/blocked workers, quota signals, handoff path, and next action.",
|
|
1149
|
-
bucket: "evidence_and_history",
|
|
1150
|
-
availability: { free: true, pro: true },
|
|
1151
|
-
implementationStatus: "supported",
|
|
1152
|
-
surfaceType: "evidence",
|
|
1153
|
-
}),
|
|
1154
|
-
defineCapability({
|
|
1155
|
-
id: "orchestration_product_learning_basic",
|
|
1156
|
-
label: "Orchestration product learning",
|
|
1157
|
-
description: "Emit safe local events for route planning, stage planning, worker limits, fallback usage, local worker recommendations, escalation, and handoff generation. No raw code, prompts, or secrets.",
|
|
1158
|
-
bucket: "evidence_and_history",
|
|
1159
|
-
availability: { free: true, pro: true },
|
|
1160
|
-
implementationStatus: "supported",
|
|
1161
|
-
surfaceType: "evidence",
|
|
1162
|
-
}),
|
|
1163
|
-
// ── Prompt / Context / Token Optimization Foundation v1 ───────────────────
|
|
1164
|
-
defineCapability({
|
|
1165
|
-
id: "prompt_context_pack_basic",
|
|
1166
|
-
label: "Stage-specific context pack",
|
|
1167
|
-
description: "Generate a compact, deterministic, stage-specific context pack for each orchestration stage (inspect/plan/implement/verify/security_review/handoff). Packs include only relevant file paths, summaries, selected skill summaries, and safety constraints — never full dumps, secrets, or unselected skill bodies. Foundation only; not a generic prompt optimizer or RAG system.",
|
|
1168
|
-
bucket: "automatic_context_cost_optimization",
|
|
1169
|
-
availability: { free: true, pro: true },
|
|
1170
|
-
implementationStatus: "supported",
|
|
1171
|
-
surfaceType: "policy",
|
|
1172
|
-
}),
|
|
1173
|
-
defineCapability({
|
|
1174
|
-
id: "stage_context_budget_basic",
|
|
1175
|
-
label: "Stage context budget",
|
|
1176
|
-
description: "Map each orchestration stage to a context budget class (small/medium/large) based on stage role, contextNeed, and worker type. Local model stages always get the small cap. Token estimates are heuristic approximations, not billing-exact values.",
|
|
1177
|
-
bucket: "automatic_context_cost_optimization",
|
|
1178
|
-
availability: { free: true, pro: true },
|
|
1179
|
-
implementationStatus: "supported",
|
|
1180
|
-
surfaceType: "policy",
|
|
1181
|
-
}),
|
|
1182
|
-
defineCapability({
|
|
1183
|
-
id: "token_budget_estimation_basic",
|
|
1184
|
-
label: "Token budget estimation",
|
|
1185
|
-
description: "Estimate input tokens for context packs using the local gpt-tokenizer when available, falling back to a conservative chars/4 heuristic. Marks estimate method and warning level (within_budget/near_budget/over_budget). No external API calls. Estimates are not billing-exact.",
|
|
1186
|
-
bucket: "automatic_context_cost_optimization",
|
|
1187
|
-
availability: { free: true, pro: true },
|
|
1188
|
-
implementationStatus: "supported",
|
|
1189
|
-
surfaceType: "evidence",
|
|
1190
|
-
}),
|
|
1191
|
-
defineCapability({
|
|
1192
|
-
id: "context_compaction_basic",
|
|
1193
|
-
label: "Context compaction",
|
|
1194
|
-
description: "When a context pack exceeds the stage budget, automatically exclude lower-priority items and record what was excluded and why. Produces included/excluded lists and a compaction flag in the receipt. Deterministic and local-only; no semantic search or vector indexing involved.",
|
|
1195
|
-
bucket: "automatic_context_cost_optimization",
|
|
1196
|
-
availability: { free: true, pro: true },
|
|
1197
|
-
implementationStatus: "supported",
|
|
1198
|
-
surfaceType: "policy",
|
|
1199
|
-
}),
|
|
1200
|
-
defineCapability({
|
|
1201
|
-
id: "local_worker_context_boundary_basic",
|
|
1202
|
-
label: "Local worker context boundary",
|
|
1203
|
-
description: "Cap context packs to the small budget class when the selected worker is a local model (LM Studio, Ollama), regardless of stage role. Records localWorkerCapped flag in the receipt.",
|
|
1204
|
-
bucket: "automatic_context_cost_optimization",
|
|
1205
|
-
availability: { free: true, pro: true },
|
|
1206
|
-
implementationStatus: "supported",
|
|
1207
|
-
surfaceType: "policy",
|
|
1208
|
-
}),
|
|
1209
|
-
defineCapability({
|
|
1210
|
-
id: "handoff_context_pack_basic",
|
|
1211
|
-
label: "Handoff context pack",
|
|
1212
|
-
description: "Attach a compact context pack summary to handoff prompts so the next worker receives bounded, relevant context — not a raw dump. Handoff remains compact; full details available via the context pack path.",
|
|
1213
|
-
bucket: "automatic_context_cost_optimization",
|
|
1214
|
-
availability: { free: true, pro: true },
|
|
1215
|
-
implementationStatus: "supported",
|
|
1216
|
-
surfaceType: "evidence",
|
|
1217
|
-
}),
|
|
1218
|
-
defineCapability({
|
|
1219
|
-
id: "skill_context_lazy_loading_basic",
|
|
1220
|
-
label: "Skill context lazy loading",
|
|
1221
|
-
description: "Include only selected skill summaries in context packs; exclude full skill bodies unless a skill is explicitly selected and budget allows. Emits a skill_context_lazy_loaded event when skills are loaded on demand.",
|
|
1222
|
-
bucket: "automatic_context_cost_optimization",
|
|
1223
|
-
availability: { free: true, pro: true },
|
|
1224
|
-
implementationStatus: "supported",
|
|
1225
|
-
surfaceType: "policy",
|
|
1226
|
-
}),
|
|
1227
|
-
defineCapability({
|
|
1228
|
-
id: "no_secrets_context_boundary_basic",
|
|
1229
|
-
label: "No-secrets context boundary",
|
|
1230
|
-
description: "Redact or exclude any item containing detected secrets (API keys, tokens, passwords) from context packs. Records noSecretsConfirmed in the receipt. Does not guarantee detection of all possible secret formats.",
|
|
1231
|
-
bucket: "automatic_context_cost_optimization",
|
|
1232
|
-
availability: { free: true, pro: true },
|
|
1233
|
-
implementationStatus: "supported",
|
|
1234
|
-
surfaceType: "policy",
|
|
1235
|
-
}),
|
|
1236
|
-
defineCapability({
|
|
1237
|
-
id: "context_optimization_receipt_basic",
|
|
1238
|
-
label: "Context optimization receipt",
|
|
1239
|
-
description: "Write a local receipt (contract: avorelo.contextOptimizationReceipt.v1) with context pack path, stage budget, token estimate, included/excluded counts, compaction flag, no-secrets confirmation, and next action.",
|
|
1240
|
-
bucket: "evidence_and_history",
|
|
1241
|
-
availability: { free: true, pro: true },
|
|
1242
|
-
implementationStatus: "supported",
|
|
1243
|
-
surfaceType: "evidence",
|
|
1244
|
-
}),
|
|
1245
|
-
defineCapability({
|
|
1246
|
-
id: "context_product_learning_basic",
|
|
1247
|
-
label: "Context optimization product learning",
|
|
1248
|
-
description: "Emit safe local events for context pack generation, budget estimation, over-budget warnings, compaction usage, local worker boundaries, secrets boundary application, excluded items, and receipt writing. No raw code, prompts, or secrets in payloads.",
|
|
1249
|
-
bucket: "evidence_and_history",
|
|
1250
|
-
availability: { free: true, pro: true },
|
|
1251
|
-
implementationStatus: "supported",
|
|
1252
|
-
surfaceType: "evidence",
|
|
1253
|
-
}),
|
|
1254
|
-
// ── Seamless Customer Outcome + Value Reality Gate v1 ──────────────────────
|
|
1255
|
-
defineCapability({
|
|
1256
|
-
id: "seamless_outcome_contract_basic",
|
|
1257
|
-
label: "Seamless outcome contract",
|
|
1258
|
-
description: "Internal operating contract with three modes (automatic/assisted/manual_debug) that define when Avorelo works silently, when it asks, and when it exposes detail. Automatic mode works silently for routine safe optimizations.",
|
|
1259
|
-
bucket: "automatic_context_cost_optimization",
|
|
1260
|
-
availability: { free: true, pro: true },
|
|
1261
|
-
implementationStatus: "supported",
|
|
1262
|
-
surfaceType: "policy",
|
|
1263
|
-
safeForPublicCopy: false,
|
|
1264
|
-
}),
|
|
1265
|
-
defineCapability({
|
|
1266
|
-
id: "automatic_mode_behavior_basic",
|
|
1267
|
-
label: "Automatic mode behavior",
|
|
1268
|
-
description: "In automatic mode, Avorelo applies safe optimizations silently: choose skills, route to local workers, reduce context, write receipts, and only interrupt when the task cannot proceed without user input or when an irreversible/destructive action requires approval.",
|
|
1269
|
-
bucket: "automatic_context_cost_optimization",
|
|
1270
|
-
availability: { free: true, pro: true },
|
|
1271
|
-
implementationStatus: "supported",
|
|
1272
|
-
surfaceType: "policy",
|
|
1273
|
-
safeForPublicCopy: false,
|
|
1274
|
-
}),
|
|
1275
|
-
defineCapability({
|
|
1276
|
-
id: "outcome_preserving_safety_basic",
|
|
1277
|
-
label: "Outcome-preserving safety check",
|
|
1278
|
-
description: "For any safety or cost reduction, represent: taskStillExecutable, fallbackAvailable, escalationRecommended, safeNextAction, and interruptRequired. A block must include a safe next action when possible. A reduction must not silently make the task impossible.",
|
|
1279
|
-
bucket: "seamless_agent_security",
|
|
1280
|
-
availability: { free: true, pro: true },
|
|
1281
|
-
implementationStatus: "supported",
|
|
1282
|
-
surfaceType: "policy",
|
|
1283
|
-
safeForPublicCopy: false,
|
|
1284
|
-
}),
|
|
1285
|
-
defineCapability({
|
|
1286
|
-
id: "end_of_run_value_summary_basic",
|
|
1287
|
-
label: "End-of-run value summary",
|
|
1288
|
-
description: "Compact JSON summary: completed/saved/protected/verified/quality/evidence/caveats. Estimated savings clearly marked estimated. No guaranteed savings. No exact dollar claims without billing evidence. Surfaced via `avorelo outcome --json`.",
|
|
1289
|
-
bucket: "evidence_and_history",
|
|
1290
|
-
availability: { free: true, pro: true },
|
|
1291
|
-
implementationStatus: "supported",
|
|
1292
|
-
surfaceType: "evidence",
|
|
1293
|
-
safeForPublicCopy: false,
|
|
1294
|
-
}),
|
|
1295
|
-
defineCapability({
|
|
1296
|
-
id: "value_reality_gate_basic",
|
|
1297
|
-
label: "Value reality gate",
|
|
1298
|
-
description: "Deterministic 14-check audit engine that evaluates whether Avorelo's foundations work together as a seamless customer outcome layer. Fails/warns only when an implemented surface contradicts the seamless outcome contract. Future roadmap gaps do not fail the gate.",
|
|
1299
|
-
bucket: "evidence_and_history",
|
|
1300
|
-
availability: { free: true, pro: true },
|
|
1301
|
-
implementationStatus: "supported",
|
|
1302
|
-
surfaceType: "evidence",
|
|
1303
|
-
safeForPublicCopy: false,
|
|
1304
|
-
}),
|
|
1305
|
-
defineCapability({
|
|
1306
|
-
id: "persona_dogfood_scorecard_basic",
|
|
1307
|
-
label: "Persona dogfood scorecard",
|
|
1308
|
-
description: "Structured dogfood scorecard for 8 personas (Developer, QA, PM, UX, Security, Marketing, Support, Cost) with per-scenario pass/warn/fail scoring and what-should-happen-silently-next-time capture.",
|
|
1309
|
-
bucket: "evidence_and_history",
|
|
1310
|
-
availability: { free: true, pro: true },
|
|
1311
|
-
implementationStatus: "supported",
|
|
1312
|
-
surfaceType: "evidence",
|
|
1313
|
-
safeForPublicCopy: false,
|
|
1314
|
-
}),
|
|
1315
|
-
defineCapability({
|
|
1316
|
-
id: "compact_proof_value_surface_basic",
|
|
1317
|
-
label: "Compact proof and value surface",
|
|
1318
|
-
description: "Status JSON includes compact seamlessOutcome and seamlessRealityGate surfaces. Proof references the latest value summary path. Internal machinery hidden by default; debug detail available on demand.",
|
|
1319
|
-
bucket: "evidence_and_history",
|
|
1320
|
-
availability: { free: true, pro: true },
|
|
1321
|
-
implementationStatus: "supported",
|
|
1322
|
-
surfaceType: "evidence",
|
|
1323
|
-
safeForPublicCopy: false,
|
|
1324
|
-
}),
|
|
1325
|
-
// PR #131 — Proof Output Compaction + Worker Debug Gate
|
|
1326
|
-
defineCapability({
|
|
1327
|
-
id: "compact_proof_default_basic",
|
|
1328
|
-
label: "Compact default proof output",
|
|
1329
|
-
description: "Default proof output shows completed/saved/protected/verified/next summary. Blocked and unavailable workers are shown as a compact count only. Full worker lists are hidden from default output. No machinery exposed by default.",
|
|
1330
|
-
bucket: "evidence_and_history",
|
|
1331
|
-
availability: { free: true, pro: true },
|
|
1332
|
-
implementationStatus: "supported",
|
|
1333
|
-
surfaceType: "evidence",
|
|
1334
|
-
safeForPublicCopy: false,
|
|
1335
|
-
}),
|
|
1336
|
-
defineCapability({
|
|
1337
|
-
id: "worker_detail_debug_gate_basic",
|
|
1338
|
-
label: "Worker detail behind debug gate",
|
|
1339
|
-
description: "avorelo proof --debug exposes blocked worker names, reasons, and skipped worker lists. Debug output is redacted. Debug does not change behavior, only visibility. Equivalent to --verbose.",
|
|
1340
|
-
bucket: "evidence_and_history",
|
|
1341
|
-
availability: { free: true, pro: true },
|
|
1342
|
-
implementationStatus: "supported",
|
|
1343
|
-
surfaceType: "evidence",
|
|
1344
|
-
safeForPublicCopy: false,
|
|
1345
|
-
}),
|
|
1346
|
-
defineCapability({
|
|
1347
|
-
id: "reality_gate_accuracy_repair_basic",
|
|
1348
|
-
label: "Reality gate accuracy repair",
|
|
1349
|
-
description: "Reality Gate context-pack checks use actual PR #128 field names: tokenEstimate.estimatedTokens, stageId, includedContext with type=skill_summaries, localWorkerCapped. Skills full-body check inspects includedContext and excludedContext arrays. Status surface check classifies comprehensive JSON correctly.",
|
|
1350
|
-
bucket: "evidence_and_history",
|
|
1351
|
-
availability: { free: true, pro: true },
|
|
1352
|
-
implementationStatus: "supported",
|
|
1353
|
-
surfaceType: "evidence",
|
|
1354
|
-
safeForPublicCopy: false,
|
|
1355
|
-
}),
|
|
1356
|
-
// PR #132 — Seamless Automation Enforcement
|
|
1357
|
-
defineCapability({
|
|
1358
|
-
id: "seamless_enforcement_contract_basic",
|
|
1359
|
-
label: "Seamless automation enforcement contract",
|
|
1360
|
-
description: "shouldInterruptForDecision() and shouldApplySilently() are wired into guard, route, and context command output. Safe routine actions apply silently with compact outcome line. High-risk/deploy/secrets actions show full detail and require acknowledgment. No decisions are hidden when interruption is warranted.",
|
|
1361
|
-
bucket: "evidence_and_history",
|
|
1362
|
-
availability: { free: true, pro: true },
|
|
1363
|
-
implementationStatus: "supported",
|
|
1364
|
-
surfaceType: "evidence",
|
|
1365
|
-
safeForPublicCopy: false,
|
|
1366
|
-
}),
|
|
1367
|
-
defineCapability({
|
|
1368
|
-
id: "guard_block_outcome_preservation_basic",
|
|
1369
|
-
label: "Guard block outcome preservation",
|
|
1370
|
-
description: "Every guard block and approval_required decision includes taskStillExecutable, fallbackAvailable, escalationRecommended, and safeNextAction in both JSON payload and text output. Reduced access always includes a safe path forward or escalation signal.",
|
|
1371
|
-
bucket: "evidence_and_history",
|
|
1372
|
-
availability: { free: true, pro: true },
|
|
1373
|
-
implementationStatus: "supported",
|
|
1374
|
-
surfaceType: "evidence",
|
|
1375
|
-
safeForPublicCopy: false,
|
|
1376
|
-
}),
|
|
1377
|
-
defineCapability({
|
|
1378
|
-
id: "value_summary_auto_write_basic",
|
|
1379
|
-
label: "Value summary auto-write after runs",
|
|
1380
|
-
description: "buildValueSummaryFromReceipts() is called after guard, route, and context commands. Value summary written to latest-value-summary.json without user action. manualDecisionsAvoided, unsafeActionsBlocked, and qualityPreserved tracked per run.",
|
|
1381
|
-
bucket: "evidence_and_history",
|
|
1382
|
-
availability: { free: true, pro: true },
|
|
1383
|
-
implementationStatus: "supported",
|
|
1384
|
-
surfaceType: "evidence",
|
|
1385
|
-
safeForPublicCopy: false,
|
|
1386
|
-
}),
|
|
1387
|
-
// AI Workspace Hygiene + Capability Registry v1
|
|
1388
|
-
defineCapability({
|
|
1389
|
-
id: "ai_workspace_hygiene_basic",
|
|
1390
|
-
label: "AI workspace hygiene scan",
|
|
1391
|
-
description: "Scan repo-local AI workspace assets (instructions, skills, MCP, hooks, scripts) and produce a compact hygiene report without executing anything.",
|
|
1392
|
-
bucket: "seamless_agent_security",
|
|
1393
|
-
availability: { free: true, pro: true },
|
|
1394
|
-
implementationStatus: "supported",
|
|
1395
|
-
surfaceType: "detection",
|
|
1396
|
-
safeForPublicCopy: false,
|
|
1397
|
-
}),
|
|
1398
|
-
defineCapability({
|
|
1399
|
-
id: "ai_workspace_asset_inventory_basic",
|
|
1400
|
-
label: "AI workspace asset inventory",
|
|
1401
|
-
description: "Build a normalized inventory of AI workspace assets from local repo files including instructions, skills, MCP configs, hooks, and package scripts.",
|
|
1402
|
-
bucket: "seamless_agent_security",
|
|
1403
|
-
availability: { free: true, pro: true },
|
|
1404
|
-
implementationStatus: "supported",
|
|
1405
|
-
surfaceType: "detection",
|
|
1406
|
-
safeForPublicCopy: false,
|
|
1407
|
-
}),
|
|
1408
|
-
defineCapability({
|
|
1409
|
-
id: "capability_registry_metadata_basic",
|
|
1410
|
-
label: "Capability registry metadata",
|
|
1411
|
-
description: "Enrich capability IDs with trust, scope, context-cost, stage, and worker hints for future orchestration — without implementing orchestration behavior now.",
|
|
1412
|
-
bucket: "evidence_and_history",
|
|
1413
|
-
availability: { free: true, pro: true },
|
|
1414
|
-
implementationStatus: "supported",
|
|
1415
|
-
surfaceType: "evidence",
|
|
1416
|
-
safeForPublicCopy: false,
|
|
1417
|
-
}),
|
|
1418
|
-
defineCapability({
|
|
1419
|
-
id: "workspace_skill_hygiene_basic",
|
|
1420
|
-
label: "Workspace skill hygiene",
|
|
1421
|
-
description: "Detect skill files missing triggers, stage hints, or at risk of full-body context loading that wastes tokens.",
|
|
1422
|
-
bucket: "seamless_agent_security",
|
|
1423
|
-
availability: { free: true, pro: true },
|
|
1424
|
-
implementationStatus: "supported",
|
|
1425
|
-
surfaceType: "detection",
|
|
1426
|
-
safeForPublicCopy: false,
|
|
1427
|
-
}),
|
|
1428
|
-
defineCapability({
|
|
1429
|
-
id: "instruction_surface_hygiene_basic",
|
|
1430
|
-
label: "Instruction surface hygiene",
|
|
1431
|
-
description: "Detect duplicate, conflicting, or overly-heavy agent instruction files across AGENTS.md, CLAUDE.md, cursor rules, and copilot instructions.",
|
|
1432
|
-
bucket: "seamless_agent_security",
|
|
1433
|
-
availability: { free: true, pro: true },
|
|
1434
|
-
implementationStatus: "supported",
|
|
1435
|
-
surfaceType: "detection",
|
|
1436
|
-
safeForPublicCopy: false,
|
|
1437
|
-
}),
|
|
1438
|
-
defineCapability({
|
|
1439
|
-
id: "mcp_workspace_visibility_basic",
|
|
1440
|
-
label: "MCP workspace visibility",
|
|
1441
|
-
description: "Detect and classify MCP config files and servers present in the repo without executing them.",
|
|
1442
|
-
bucket: "seamless_agent_security",
|
|
1443
|
-
availability: { free: true, pro: true },
|
|
1444
|
-
implementationStatus: "supported",
|
|
1445
|
-
surfaceType: "detection",
|
|
1446
|
-
safeForPublicCopy: false,
|
|
1447
|
-
}),
|
|
1448
|
-
defineCapability({
|
|
1449
|
-
id: "hook_surface_visibility_basic",
|
|
1450
|
-
label: "Hook surface visibility",
|
|
1451
|
-
description: "Detect lifecycle hook configs in .claude and .openhands and classify their stage without installing or running hooks.",
|
|
1452
|
-
bucket: "seamless_agent_security",
|
|
1453
|
-
availability: { free: true, pro: true },
|
|
1454
|
-
implementationStatus: "supported",
|
|
1455
|
-
surfaceType: "detection",
|
|
1456
|
-
safeForPublicCopy: false,
|
|
1457
|
-
}),
|
|
1458
|
-
defineCapability({
|
|
1459
|
-
id: "package_script_hygiene_basic",
|
|
1460
|
-
label: "Package script hygiene",
|
|
1461
|
-
description: "Flag risky deploy/network/destructive package scripts without executing them.",
|
|
1462
|
-
bucket: "seamless_agent_security",
|
|
1463
|
-
availability: { free: true, pro: true },
|
|
1464
|
-
implementationStatus: "supported",
|
|
1465
|
-
surfaceType: "detection",
|
|
1466
|
-
safeForPublicCopy: false,
|
|
1467
|
-
}),
|
|
1468
|
-
defineCapability({
|
|
1469
|
-
id: "orchestration_ready_capability_metadata_basic",
|
|
1470
|
-
label: "Orchestration-ready capability metadata",
|
|
1471
|
-
description: "Attach workerHints, stageHints, contextCost, riskLevel, and trustLevel to capability registry entries as a foundation for future work-aware orchestration.",
|
|
1472
|
-
bucket: "evidence_and_history",
|
|
1473
|
-
availability: { free: true, pro: true },
|
|
1474
|
-
implementationStatus: "supported",
|
|
1475
|
-
surfaceType: "evidence",
|
|
1476
|
-
safeForPublicCopy: false,
|
|
1477
|
-
}),
|
|
1478
|
-
// Work-Aware Orchestration + Workspace Relevance v1
|
|
1479
|
-
defineCapability({
|
|
1480
|
-
id: "work_aware_orchestration_basic",
|
|
1481
|
-
label: "Work-aware orchestration",
|
|
1482
|
-
description: "Plan AI work deterministically: classify a task, split into stages, select cheapest capable safe worker per stage, and select focused context from workspace hygiene metadata.",
|
|
1483
|
-
bucket: "automatic_context_cost_optimization",
|
|
1484
|
-
availability: { free: true, pro: true },
|
|
1485
|
-
implementationStatus: "supported",
|
|
1486
|
-
surfaceType: "policy",
|
|
1487
|
-
safeForPublicCopy: false,
|
|
1488
|
-
}),
|
|
1489
|
-
defineCapability({
|
|
1490
|
-
id: "stage_based_work_plan_basic",
|
|
1491
|
-
label: "Stage-based work plan",
|
|
1492
|
-
description: "Split any task into deterministic stages (inspect, plan, implement, verify, review, handoff) with per-stage objectives, risk levels, and quality requirements.",
|
|
1493
|
-
bucket: "automatic_context_cost_optimization",
|
|
1494
|
-
availability: { free: true, pro: true },
|
|
1495
|
-
implementationStatus: "supported",
|
|
1496
|
-
surfaceType: "evidence",
|
|
1497
|
-
safeForPublicCopy: false,
|
|
1498
|
-
}),
|
|
1499
|
-
defineCapability({
|
|
1500
|
-
id: "stage_based_worker_selection_basic",
|
|
1501
|
-
label: "Stage-based worker selection",
|
|
1502
|
-
description: "Select cheapest capable safe worker per stage: local/cheap for inspect/handoff, strong model for critical implementation/review, local test runner for verify.",
|
|
1503
|
-
bucket: "automatic_context_cost_optimization",
|
|
1504
|
-
availability: { free: true, pro: true },
|
|
1505
|
-
implementationStatus: "supported",
|
|
1506
|
-
surfaceType: "policy",
|
|
1507
|
-
safeForPublicCopy: false,
|
|
1508
|
-
}),
|
|
1509
|
-
defineCapability({
|
|
1510
|
-
id: "workspace_relevance_context_selection_basic",
|
|
1511
|
-
label: "Workspace relevance context selection",
|
|
1512
|
-
description: "Auto-select stage-relevant assets/files from workspace hygiene metadata, excluding unknown/high-risk/high-context-cost assets from automatic context.",
|
|
1513
|
-
bucket: "automatic_context_cost_optimization",
|
|
1514
|
-
availability: { free: true, pro: true },
|
|
1515
|
-
implementationStatus: "supported",
|
|
1516
|
-
surfaceType: "policy",
|
|
1517
|
-
safeForPublicCopy: false,
|
|
1518
|
-
}),
|
|
1519
|
-
defineCapability({
|
|
1520
|
-
id: "stage_aware_handoff_basic",
|
|
1521
|
-
label: "Stage-aware handoff",
|
|
1522
|
-
description: "Generate a handoff receipt with what was done, what not to redo, selected next stage, worker role, verification next step, and exact next action.",
|
|
1523
|
-
bucket: "evidence_and_history",
|
|
1524
|
-
availability: { free: true, pro: true },
|
|
1525
|
-
implementationStatus: "supported",
|
|
1526
|
-
surfaceType: "evidence",
|
|
1527
|
-
safeForPublicCopy: false,
|
|
1528
|
-
}),
|
|
1529
|
-
defineCapability({
|
|
1530
|
-
id: "orchestration_value_evidence_basic",
|
|
1531
|
-
label: "Orchestration value evidence",
|
|
1532
|
-
description: "Write evidence-backed value summary for each work plan: local/cheap vs strong-worker stage counts, excluded assets, verification prepared. No exact/guaranteed savings.",
|
|
1533
|
-
bucket: "evidence_and_history",
|
|
1534
|
-
availability: { free: true, pro: true },
|
|
1535
|
-
implementationStatus: "supported",
|
|
1536
|
-
surfaceType: "evidence",
|
|
1537
|
-
safeForPublicCopy: false,
|
|
1538
|
-
}),
|
|
1539
|
-
// PR #136 — AI-Native Company Loop + Unified Work Ledger
|
|
1540
|
-
defineCapability({
|
|
1541
|
-
id: "work_ledger_basic",
|
|
1542
|
-
label: "Unified work ledger",
|
|
1543
|
-
description: "Link all Avorelo receipts (route, context, guard, hygiene, orchestration, outcome, reality gate) into one compact run view with rollup: completed, saved, protected, verified, friction, next action.",
|
|
1544
|
-
bucket: "evidence_and_history",
|
|
1545
|
-
availability: { free: true, pro: true },
|
|
1546
|
-
implementationStatus: "supported",
|
|
1547
|
-
surfaceType: "evidence",
|
|
1548
|
-
safeForPublicCopy: false,
|
|
1549
|
-
}),
|
|
1550
|
-
defineCapability({
|
|
1551
|
-
id: "ai_native_company_loop_basic",
|
|
1552
|
-
label: "AI-native company loop",
|
|
1553
|
-
description: "Run a deterministic internal operating loop across ledger evidence: persona review (8 personas), friction clustering, COGS/quality rollup, and evidence-backed next PR recommendation. Local only, no LLM calls.",
|
|
1554
|
-
bucket: "evidence_and_history",
|
|
1555
|
-
availability: { free: true, pro: true },
|
|
1556
|
-
implementationStatus: "supported",
|
|
1557
|
-
surfaceType: "policy",
|
|
1558
|
-
safeForPublicCopy: false,
|
|
1559
|
-
}),
|
|
1560
|
-
defineCapability({
|
|
1561
|
-
id: "internal_persona_review_basic",
|
|
1562
|
-
label: "Internal persona review",
|
|
1563
|
-
description: "Evaluate the work ledger from 8 internal perspectives (Product, QA, UX, Security, DevEx, Cost, Support, Marketing). Each returns pass/warn/fail/skip with evidence and recommended fix.",
|
|
1564
|
-
bucket: "evidence_and_history",
|
|
1565
|
-
availability: { free: true, pro: true },
|
|
1566
|
-
implementationStatus: "supported",
|
|
1567
|
-
surfaceType: "evidence",
|
|
1568
|
-
safeForPublicCopy: false,
|
|
1569
|
-
}),
|
|
1570
|
-
defineCapability({
|
|
1571
|
-
id: "dogfood_friction_clustering_basic",
|
|
1572
|
-
label: "Dogfood friction clustering",
|
|
1573
|
-
description: "Cluster repeated product and workflow friction signals (missing evidence, noisy output, manual fallback, unknown assets, value not evidence-backed) from ledger and persona findings.",
|
|
1574
|
-
bucket: "evidence_and_history",
|
|
1575
|
-
availability: { free: true, pro: true },
|
|
1576
|
-
implementationStatus: "supported",
|
|
1577
|
-
surfaceType: "evidence",
|
|
1578
|
-
safeForPublicCopy: false,
|
|
1579
|
-
}),
|
|
1580
|
-
defineCapability({
|
|
1581
|
-
id: "feedback_signal_schema_basic",
|
|
1582
|
-
label: "Local feedback signal schema",
|
|
1583
|
-
description: "Accept and validate local dogfood/manual feedback signals. Local-only, no PII, no cloud. Feedback links to ledger friction types and populates company loop findings.",
|
|
1584
|
-
bucket: "evidence_and_history",
|
|
1585
|
-
availability: { free: true, pro: true },
|
|
1586
|
-
implementationStatus: "supported",
|
|
1587
|
-
surfaceType: "evidence",
|
|
1588
|
-
safeForPublicCopy: false,
|
|
1589
|
-
}),
|
|
1590
|
-
defineCapability({
|
|
1591
|
-
id: "next_pr_recommendation_basic",
|
|
1592
|
-
label: "Evidence-backed next PR recommendation",
|
|
1593
|
-
description: "Recommend the next PR based on dominant friction clusters, Reality Gate status, and persona findings. Includes confidence level (low/medium/high) and explicit deferred items.",
|
|
1594
|
-
bucket: "evidence_and_history",
|
|
1595
|
-
availability: { free: true, pro: true },
|
|
1596
|
-
implementationStatus: "supported",
|
|
1597
|
-
surfaceType: "evidence",
|
|
1598
|
-
safeForPublicCopy: false,
|
|
1599
|
-
}),
|
|
1600
|
-
defineCapability({
|
|
1601
|
-
id: "cost_cogs_quality_rollup_basic",
|
|
1602
|
-
label: "COGS/quality rollup",
|
|
1603
|
-
description: "Deterministic cost and quality rollup from ledger evidence: estimated local stages, context tokens saved (estimate), quality checks verified, friction points. No exact/guaranteed savings.",
|
|
1604
|
-
bucket: "evidence_and_history",
|
|
1605
|
-
availability: { free: true, pro: true },
|
|
1606
|
-
implementationStatus: "supported",
|
|
1607
|
-
surfaceType: "evidence",
|
|
1608
|
-
safeForPublicCopy: false,
|
|
1609
|
-
}),
|
|
1610
|
-
// PR #137 — Execution Packet + Project Profile + Work Panel Preview v1
|
|
1611
|
-
defineCapability({
|
|
1612
|
-
id: "project_profile_detection_basic",
|
|
1613
|
-
label: "Project profile detection",
|
|
1614
|
-
description: "Deterministically detect project framework, package manager, build/test/dev scripts, deploy provider, and risk boundaries from local files. No network calls, no script execution.",
|
|
1615
|
-
bucket: "better_ai_coding_tasks",
|
|
1616
|
-
availability: { free: true, pro: true },
|
|
1617
|
-
implementationStatus: "supported",
|
|
1618
|
-
surfaceType: "detection",
|
|
1619
|
-
safeForPublicCopy: false,
|
|
1620
|
-
}),
|
|
1621
|
-
defineCapability({
|
|
1622
|
-
id: "execution_packet_basic",
|
|
1623
|
-
label: "Scoped execution packet",
|
|
1624
|
-
description: "Transform messy user intent into a scoped, safe execution packet with allowed/blocked scope, risk level, proof requirements, diff policy, and agent instructions. Local only, no LLM calls.",
|
|
1625
|
-
bucket: "better_ai_coding_tasks",
|
|
1626
|
-
availability: { free: true, pro: true },
|
|
1627
|
-
implementationStatus: "supported",
|
|
1628
|
-
surfaceType: "policy",
|
|
1629
|
-
safeForPublicCopy: false,
|
|
1630
|
-
}),
|
|
1631
|
-
defineCapability({
|
|
1632
|
-
id: "execution_packet_scope_boundaries_basic",
|
|
1633
|
-
label: "Execution packet scope boundaries",
|
|
1634
|
-
description: "Apply deterministic allowed/blocked scope to execution packets: secrets/auth/billing/deploy always blocked; blocked scope always overrides allowed scope.",
|
|
1635
|
-
bucket: "better_ai_coding_tasks",
|
|
1636
|
-
availability: { free: true, pro: true },
|
|
1637
|
-
implementationStatus: "supported",
|
|
1638
|
-
surfaceType: "block",
|
|
1639
|
-
safeForPublicCopy: false,
|
|
1640
|
-
}),
|
|
1641
|
-
defineCapability({
|
|
1642
|
-
id: "agent_prompt_compiler_basic",
|
|
1643
|
-
label: "Agent prompt compiler",
|
|
1644
|
-
description: "Compile execution packets into structured agent instructions for target workers (claude_code, codex, local_worker). Includes allowed/blocked scope, diff-before-write, and proof requirements.",
|
|
1645
|
-
bucket: "better_ai_coding_tasks",
|
|
1646
|
-
availability: { free: true, pro: true },
|
|
1647
|
-
implementationStatus: "supported",
|
|
1648
|
-
surfaceType: "policy",
|
|
1649
|
-
safeForPublicCopy: false,
|
|
1650
|
-
}),
|
|
1651
|
-
defineCapability({
|
|
1652
|
-
id: "work_panel_preview_basic",
|
|
1653
|
-
label: "Work panel preview",
|
|
1654
|
-
description: "Generate a local-only compact preview of the current execution packet: goal, mode, risk, scope summary, proof requirements. Local artifact only — no network, no browser injection, no auto-apply.",
|
|
1655
|
-
bucket: "better_ai_coding_tasks",
|
|
1656
|
-
availability: { free: true, pro: true },
|
|
1657
|
-
implementationStatus: "supported",
|
|
1658
|
-
surfaceType: "evidence",
|
|
1659
|
-
safeForPublicCopy: false,
|
|
1660
|
-
}),
|
|
1661
|
-
defineCapability({
|
|
1662
|
-
id: "proof_requirements_packet_basic",
|
|
1663
|
-
label: "Proof requirements in execution packet",
|
|
1664
|
-
description: "Attach proof requirements (run_tests, run_build, run_lint, human_approval) to execution packets based on project profile and mode. Diff required before write for code changes.",
|
|
1665
|
-
bucket: "evidence_and_history",
|
|
1666
|
-
availability: { free: true, pro: true },
|
|
1667
|
-
implementationStatus: "supported",
|
|
1668
|
-
surfaceType: "evidence",
|
|
1669
|
-
safeForPublicCopy: false,
|
|
1670
|
-
}),
|
|
1671
|
-
defineCapability({
|
|
1672
|
-
id: "diff_before_write_policy_basic",
|
|
1673
|
-
label: "Diff before write policy",
|
|
1674
|
-
description: "Require a unified diff of proposed changes before any code write in safe_patch, fast_prototype, refactor_plan, and security_review modes.",
|
|
1675
|
-
bucket: "better_ai_coding_tasks",
|
|
1676
|
-
availability: { free: true, pro: true },
|
|
1677
|
-
implementationStatus: "supported",
|
|
1678
|
-
surfaceType: "policy",
|
|
1679
|
-
safeForPublicCopy: false,
|
|
1680
|
-
}),
|
|
1681
|
-
|
|
1682
|
-
// ── PR #138 — Seamless Smart Work Routing + Worker Handoff Runtime v1 ─────────
|
|
1683
|
-
defineCapability({
|
|
1684
|
-
id: "smart_work_routing_basic",
|
|
1685
|
-
label: "Smart Work Routing",
|
|
1686
|
-
description: "Route AI coding work through the cheapest safe capable path: local/cheap for docs/inspect, strong worker for critical implementation, approval-gated for deploy/destructive/remote-agent. Receipts written automatically.",
|
|
1687
|
-
bucket: "better_ai_coding_tasks",
|
|
1688
|
-
availability: { free: true, pro: true },
|
|
1689
|
-
implementationStatus: "supported",
|
|
1690
|
-
surfaceType: "policy",
|
|
1691
|
-
safeForPublicCopy: false,
|
|
1692
|
-
}),
|
|
1693
|
-
defineCapability({
|
|
1694
|
-
id: "smart_route_execution_path_basic",
|
|
1695
|
-
label: "Smart route execution path decision",
|
|
1696
|
-
description: "Deterministically decide auto_execute, auto_prepare, approval_required, blocked, or delegate for each task type. Reason codes included. No LLM or network calls.",
|
|
1697
|
-
bucket: "better_ai_coding_tasks",
|
|
1698
|
-
availability: { free: true, pro: true },
|
|
1699
|
-
implementationStatus: "supported",
|
|
1700
|
-
surfaceType: "policy",
|
|
1701
|
-
safeForPublicCopy: false,
|
|
1702
|
-
}),
|
|
1703
|
-
defineCapability({
|
|
1704
|
-
id: "worker_handoff_basic",
|
|
1705
|
-
label: "Worker handoff bundle",
|
|
1706
|
-
description: "Compile a scoped worker handoff bundle: target worker, allowed/blocked scope summary, proof requirements, continuation type, output expectations. No raw secrets, no broad context dump.",
|
|
1707
|
-
bucket: "better_ai_coding_tasks",
|
|
1708
|
-
availability: { free: true, pro: true },
|
|
1709
|
-
implementationStatus: "supported",
|
|
1710
|
-
surfaceType: "evidence",
|
|
1711
|
-
safeForPublicCopy: false,
|
|
1712
|
-
}),
|
|
1713
|
-
defineCapability({
|
|
1714
|
-
id: "smart_route_protocol_readiness_basic",
|
|
1715
|
-
label: "ACP/A2A protocol readiness metadata",
|
|
1716
|
-
description: "Evaluate ACP and A2A readiness as metadata only. Neither protocol is implemented in v1. Same-surface CLI/handoff path is always preferred. Cross-vendor and remote-agent delegation require explicit approval.",
|
|
1717
|
-
bucket: "seamless_agent_security",
|
|
1718
|
-
availability: { free: true, pro: true },
|
|
1719
|
-
implementationStatus: "supported",
|
|
1720
|
-
surfaceType: "policy",
|
|
1721
|
-
safeForPublicCopy: false,
|
|
1722
|
-
}),
|
|
1723
|
-
defineCapability({
|
|
1724
|
-
id: "same_surface_preference_basic",
|
|
1725
|
-
label: "Same-surface preference policy",
|
|
1726
|
-
description: "Prefer local CLI/handoff path over cross-vendor or remote delegation by default. Cross-vendor routing is blocked unless explicitly enabled.",
|
|
1727
|
-
bucket: "seamless_agent_security",
|
|
1728
|
-
availability: { free: true, pro: true },
|
|
1729
|
-
implementationStatus: "supported",
|
|
1730
|
-
surfaceType: "policy",
|
|
1731
|
-
safeForPublicCopy: false,
|
|
1732
|
-
}),
|
|
1733
|
-
defineCapability({
|
|
1734
|
-
id: "cross_vendor_safety_boundary_basic",
|
|
1735
|
-
label: "Cross-vendor safety boundary",
|
|
1736
|
-
description: "Block cross-vendor and remote-agent delegation by default. Remote agents require identity proof, capability card, and completion receipt before any delegation is allowed.",
|
|
1737
|
-
bucket: "seamless_agent_security",
|
|
1738
|
-
availability: { free: true, pro: true },
|
|
1739
|
-
implementationStatus: "supported",
|
|
1740
|
-
surfaceType: "block",
|
|
1741
|
-
safeForPublicCopy: false,
|
|
1742
|
-
}),
|
|
1743
|
-
defineCapability({
|
|
1744
|
-
id: "smart_route_ledger_receipt_basic",
|
|
1745
|
-
label: "Smart route ledger receipt",
|
|
1746
|
-
description: "Write a redacted smart route receipt and link it into the unified work ledger. Company-loop can read smart_route entries for friction detection and next-PR recommendations.",
|
|
1747
|
-
bucket: "evidence_and_history",
|
|
1748
|
-
availability: { free: true, pro: true },
|
|
1749
|
-
implementationStatus: "supported",
|
|
1750
|
-
surfaceType: "evidence",
|
|
1751
|
-
safeForPublicCopy: false,
|
|
1752
|
-
}),
|
|
1753
|
-
// PR #139 — Safe Run Command + Execution Controller v1
|
|
1754
|
-
defineCapability({
|
|
1755
|
-
id: "safe_run_command_basic",
|
|
1756
|
-
label: "Safe run command",
|
|
1757
|
-
description: "Run `avorelo run \"<task>\"` to automatically route, compile an execution packet, prepare worker handoff, run whitelisted local proof steps, and write a compact receipt — without modifying code or executing remote agents.",
|
|
1758
|
-
bucket: "better_ai_coding_tasks",
|
|
1759
|
-
availability: { free: true, pro: true },
|
|
1760
|
-
implementationStatus: "supported",
|
|
1761
|
-
surfaceType: "policy",
|
|
1762
|
-
safeForPublicCopy: true,
|
|
1763
|
-
}),
|
|
1764
|
-
defineCapability({
|
|
1765
|
-
id: "safe_execution_controller_basic",
|
|
1766
|
-
label: "Safe execution controller",
|
|
1767
|
-
description: "Deterministic local controller that chains project-profile, smart-route, execution-packet, worker-handoff, proof, ledger, and outcome without requiring manual command chaining.",
|
|
1768
|
-
bucket: "better_ai_coding_tasks",
|
|
1769
|
-
availability: { free: true, pro: true },
|
|
1770
|
-
implementationStatus: "supported",
|
|
1771
|
-
surfaceType: "policy",
|
|
1772
|
-
safeForPublicCopy: true,
|
|
1773
|
-
}),
|
|
1774
|
-
defineCapability({
|
|
1775
|
-
id: "safe_local_proof_execution_basic",
|
|
1776
|
-
label: "Safe local proof execution",
|
|
1777
|
-
description: "Run whitelisted test/build/lint commands from the project profile when task risk is low/medium and the route is not approval-required. Blocks deploy, publish, release, destructive, and arbitrary commands.",
|
|
1778
|
-
bucket: "better_ai_coding_tasks",
|
|
1779
|
-
availability: { free: true, pro: true },
|
|
1780
|
-
implementationStatus: "supported",
|
|
1781
|
-
surfaceType: "block",
|
|
1782
|
-
safeForPublicCopy: false,
|
|
1783
|
-
}),
|
|
1784
|
-
defineCapability({
|
|
1785
|
-
id: "run_smart_route_integration_basic",
|
|
1786
|
-
label: "Run → smart route integration",
|
|
1787
|
-
description: "Safe run command calls the smart-route module for task classification and execution-path decision without duplicating routing logic.",
|
|
1788
|
-
bucket: "evidence_and_history",
|
|
1789
|
-
availability: { free: true, pro: true },
|
|
1790
|
-
implementationStatus: "supported",
|
|
1791
|
-
surfaceType: "evidence",
|
|
1792
|
-
safeForPublicCopy: false,
|
|
1793
|
-
}),
|
|
1794
|
-
defineCapability({
|
|
1795
|
-
id: "run_execution_packet_integration_basic",
|
|
1796
|
-
label: "Run → execution packet integration",
|
|
1797
|
-
description: "Safe run command calls the execution-packet module to compile allowed/blocked scope, proof requirements, and agent prompt.",
|
|
1798
|
-
bucket: "evidence_and_history",
|
|
1799
|
-
availability: { free: true, pro: true },
|
|
1800
|
-
implementationStatus: "supported",
|
|
1801
|
-
surfaceType: "evidence",
|
|
1802
|
-
safeForPublicCopy: false,
|
|
1803
|
-
}),
|
|
1804
|
-
defineCapability({
|
|
1805
|
-
id: "run_worker_handoff_integration_basic",
|
|
1806
|
-
label: "Run → worker handoff integration",
|
|
1807
|
-
description: "Safe run command prepares a worker handoff bundle referencing execution packet and context pack.",
|
|
1808
|
-
bucket: "evidence_and_history",
|
|
1809
|
-
availability: { free: true, pro: true },
|
|
1810
|
-
implementationStatus: "supported",
|
|
1811
|
-
surfaceType: "evidence",
|
|
1812
|
-
safeForPublicCopy: false,
|
|
1813
|
-
}),
|
|
1814
|
-
defineCapability({
|
|
1815
|
-
id: "safe_run_ledger_receipt_basic",
|
|
1816
|
-
label: "Safe run ledger receipt",
|
|
1817
|
-
description: "Write a redacted safe-run receipt to .claude/cco/orchestration/safe-run/latest-run.json and link it into the unified work ledger as a safe_run entry.",
|
|
1818
|
-
bucket: "evidence_and_history",
|
|
1819
|
-
availability: { free: true, pro: true },
|
|
1820
|
-
implementationStatus: "supported",
|
|
1821
|
-
surfaceType: "evidence",
|
|
1822
|
-
safeForPublicCopy: false,
|
|
1823
|
-
}),
|
|
1824
|
-
// ── PR #140 — Hook Baseline + Lifecycle Automation Preview v1 ──────────────
|
|
1825
|
-
Object.freeze({
|
|
1826
|
-
id: "hook_baseline_registry_basic",
|
|
1827
|
-
label: "Hook baseline registry",
|
|
1828
|
-
description: "Deterministic registry of all lifecycle hook definitions: events, blocking/non-blocking status, commands, capabilities, and safe defaults. Preview only — no user config modified.",
|
|
1829
|
-
bucket: "seamless_agent_security",
|
|
1830
|
-
availability: { free: true, pro: true },
|
|
1831
|
-
implementationStatus: "supported",
|
|
1832
|
-
surfaceType: "detection",
|
|
1833
|
-
safeForPublicCopy: false,
|
|
1834
|
-
}),
|
|
1835
|
-
Object.freeze({
|
|
1836
|
-
id: "adapter_readiness_basic",
|
|
1837
|
-
label: "Adapter readiness detection",
|
|
1838
|
-
description: "Detect which AI coding host adapters are available (Claude Code, OpenHands, generic CLI) and whether their hook config paths exist. safeToAutoModify is always false.",
|
|
1839
|
-
bucket: "seamless_agent_security",
|
|
1840
|
-
availability: { free: true, pro: true },
|
|
1841
|
-
implementationStatus: "supported",
|
|
1842
|
-
surfaceType: "detection",
|
|
1843
|
-
safeForPublicCopy: false,
|
|
1844
|
-
}),
|
|
1845
|
-
Object.freeze({
|
|
1846
|
-
id: "hook_config_preview_basic",
|
|
1847
|
-
label: "Hook config preview",
|
|
1848
|
-
description: "Generate a local preview of what hook configuration would look like if applied. Does not modify .claude/settings.json, .openhands/hooks.json, or any user config. Approval required before apply.",
|
|
1849
|
-
bucket: "seamless_agent_security",
|
|
1850
|
-
availability: { free: true, pro: true },
|
|
1851
|
-
implementationStatus: "supported",
|
|
1852
|
-
surfaceType: "detection",
|
|
1853
|
-
safeForPublicCopy: false,
|
|
1854
|
-
}),
|
|
1855
|
-
Object.freeze({
|
|
1856
|
-
id: "lifecycle_hook_handler_basic",
|
|
1857
|
-
label: "Lifecycle hook handlers",
|
|
1858
|
-
description: "Safe local command handlers for all lifecycle events (SessionStart, UserPromptSubmit, PreToolUse, PostToolUse, Stop, SessionEnd). Not auto-installed. Apply requires explicit approval.",
|
|
1859
|
-
bucket: "seamless_agent_security",
|
|
1860
|
-
availability: { free: true, pro: true },
|
|
1861
|
-
implementationStatus: "supported",
|
|
1862
|
-
surfaceType: "policy",
|
|
1863
|
-
safeForPublicCopy: false,
|
|
1864
|
-
}),
|
|
1865
|
-
Object.freeze({
|
|
1866
|
-
id: "smart_route_hook_binding_basic",
|
|
1867
|
-
label: "Smart-route hook binding",
|
|
1868
|
-
description: "Lifecycle hook UserPromptSubmit maps to smart-route: classify task, decide execution path, and prepare route for the session.",
|
|
1869
|
-
bucket: "seamless_agent_security",
|
|
1870
|
-
availability: { free: true, pro: true },
|
|
1871
|
-
implementationStatus: "supported",
|
|
1872
|
-
surfaceType: "policy",
|
|
1873
|
-
safeForPublicCopy: false,
|
|
1874
|
-
}),
|
|
1875
|
-
Object.freeze({
|
|
1876
|
-
id: "execution_packet_hook_binding_basic",
|
|
1877
|
-
label: "Execution packet hook binding",
|
|
1878
|
-
description: "Lifecycle hooks UserPromptSubmit and PreToolUse map to execution-packet: compile packet and enforce packet boundaries.",
|
|
1879
|
-
bucket: "seamless_agent_security",
|
|
1880
|
-
availability: { free: true, pro: true },
|
|
1881
|
-
implementationStatus: "supported",
|
|
1882
|
-
surfaceType: "policy",
|
|
1883
|
-
safeForPublicCopy: false,
|
|
1884
|
-
}),
|
|
1885
|
-
Object.freeze({
|
|
1886
|
-
id: "safe_run_hook_binding_basic",
|
|
1887
|
-
label: "Safe-run hook binding",
|
|
1888
|
-
description: "Lifecycle hook UserPromptSubmit maps to safe-run plan preparation (prepare-only, no execution).",
|
|
1889
|
-
bucket: "seamless_agent_security",
|
|
1890
|
-
availability: { free: true, pro: true },
|
|
1891
|
-
implementationStatus: "supported",
|
|
1892
|
-
surfaceType: "policy",
|
|
1893
|
-
safeForPublicCopy: false,
|
|
1894
|
-
}),
|
|
1895
|
-
Object.freeze({
|
|
1896
|
-
id: "pre_tool_use_guard_mapping_basic",
|
|
1897
|
-
label: "PreToolUse guard mapping",
|
|
1898
|
-
description: "Blocking lifecycle hook PreToolUse enforces packet boundaries and blocks destructive/secrets/deploy/prod tool use. Returns structured decision: allow|warn|approval_required|block.",
|
|
1899
|
-
bucket: "seamless_agent_security",
|
|
1900
|
-
availability: { free: true, pro: true },
|
|
1901
|
-
implementationStatus: "supported",
|
|
1902
|
-
surfaceType: "block",
|
|
1903
|
-
safeForPublicCopy: false,
|
|
1904
|
-
}),
|
|
1905
|
-
Object.freeze({
|
|
1906
|
-
id: "post_tool_use_ledger_mapping_basic",
|
|
1907
|
-
label: "PostToolUse ledger mapping",
|
|
1908
|
-
description: "Non-blocking lifecycle hook PostToolUse writes a redacted tool result summary to the work ledger and product-learning events.",
|
|
1909
|
-
bucket: "evidence_and_history",
|
|
1910
|
-
availability: { free: true, pro: true },
|
|
1911
|
-
implementationStatus: "supported",
|
|
1912
|
-
surfaceType: "evidence",
|
|
1913
|
-
safeForPublicCopy: false,
|
|
1914
|
-
}),
|
|
1915
|
-
Object.freeze({
|
|
1916
|
-
id: "stop_proof_gate_mapping_basic",
|
|
1917
|
-
label: "Stop proof gate mapping",
|
|
1918
|
-
description: "Blocking lifecycle hook Stop checks whether proof is required by the execution packet. Blocks stop if proof is required but missing; allows stop otherwise.",
|
|
1919
|
-
bucket: "seamless_agent_security",
|
|
1920
|
-
availability: { free: true, pro: true },
|
|
1921
|
-
implementationStatus: "supported",
|
|
1922
|
-
surfaceType: "block",
|
|
1923
|
-
safeForPublicCopy: false,
|
|
1924
|
-
}),
|
|
1925
|
-
Object.freeze({
|
|
1926
|
-
id: "session_end_summary_handoff_mapping_basic",
|
|
1927
|
-
label: "SessionEnd summary and handoff mapping",
|
|
1928
|
-
description: "Non-blocking lifecycle hook SessionEnd updates outcome, ledger, company-loop, and prepares handoff summary. No user config modified.",
|
|
1929
|
-
bucket: "evidence_and_history",
|
|
1930
|
-
availability: { free: true, pro: true },
|
|
1931
|
-
implementationStatus: "supported",
|
|
1932
|
-
surfaceType: "evidence",
|
|
1933
|
-
safeForPublicCopy: false,
|
|
1934
|
-
}),
|
|
1935
|
-
// PR #141 — Explicit Hook Apply + Lifecycle Live v1
|
|
1936
|
-
Object.freeze({
|
|
1937
|
-
id: "explicit_hook_apply_basic",
|
|
1938
|
-
label: "Explicit hook apply",
|
|
1939
|
-
description: "Apply Avorelo lifecycle hooks to repo-local config with explicit user approval. Default is dry-run. Real apply requires --yes. Backup created before apply. Rollback available.",
|
|
1940
|
-
bucket: "seamless_agent_security",
|
|
1941
|
-
availability: { free: true, pro: true },
|
|
1942
|
-
implementationStatus: "supported",
|
|
1943
|
-
surfaceType: "approval",
|
|
1944
|
-
safeForPublicCopy: false,
|
|
1945
|
-
}),
|
|
1946
|
-
Object.freeze({
|
|
1947
|
-
id: "hook_apply_dry_run_basic",
|
|
1948
|
-
label: "Hook apply dry-run",
|
|
1949
|
-
description: "Preview what hook apply would change without modifying any config. Default mode for `hooks apply`.",
|
|
1950
|
-
bucket: "seamless_agent_security",
|
|
1951
|
-
availability: { free: true, pro: true },
|
|
1952
|
-
implementationStatus: "supported",
|
|
1953
|
-
surfaceType: "detection",
|
|
1954
|
-
safeForPublicCopy: false,
|
|
1955
|
-
}),
|
|
1956
|
-
Object.freeze({
|
|
1957
|
-
id: "hook_config_backup_basic",
|
|
1958
|
-
label: "Hook config backup",
|
|
1959
|
-
description: "Automatic timestamped backup of existing config before apply. Stored in repo-local .claude/cco/orchestration/hook-apply/backups/.",
|
|
1960
|
-
bucket: "seamless_agent_security",
|
|
1961
|
-
availability: { free: true, pro: true },
|
|
1962
|
-
implementationStatus: "supported",
|
|
1963
|
-
surfaceType: "evidence",
|
|
1964
|
-
safeForPublicCopy: false,
|
|
1965
|
-
}),
|
|
1966
|
-
Object.freeze({
|
|
1967
|
-
id: "hook_apply_validation_basic",
|
|
1968
|
-
label: "Hook apply validation",
|
|
1969
|
-
description: "Validate that installed hooks match expected config after apply. Reports missing events and duplicates.",
|
|
1970
|
-
bucket: "seamless_agent_security",
|
|
1971
|
-
availability: { free: true, pro: true },
|
|
1972
|
-
implementationStatus: "supported",
|
|
1973
|
-
surfaceType: "detection",
|
|
1974
|
-
safeForPublicCopy: false,
|
|
1975
|
-
}),
|
|
1976
|
-
Object.freeze({
|
|
1977
|
-
id: "hook_rollback_basic",
|
|
1978
|
-
label: "Hook rollback",
|
|
1979
|
-
description: "Restore the latest config backup. Reverts apply without deleting unrelated user config or files.",
|
|
1980
|
-
bucket: "seamless_agent_security",
|
|
1981
|
-
availability: { free: true, pro: true },
|
|
1982
|
-
implementationStatus: "supported",
|
|
1983
|
-
surfaceType: "policy",
|
|
1984
|
-
safeForPublicCopy: false,
|
|
1985
|
-
}),
|
|
1986
|
-
Object.freeze({
|
|
1987
|
-
id: "hook_uninstall_basic",
|
|
1988
|
-
label: "Hook uninstall",
|
|
1989
|
-
description: "Remove only Avorelo-managed hooks from config. Requires --yes. Preserves all user hooks and unrelated config.",
|
|
1990
|
-
bucket: "seamless_agent_security",
|
|
1991
|
-
availability: { free: true, pro: true },
|
|
1992
|
-
implementationStatus: "supported",
|
|
1993
|
-
surfaceType: "policy",
|
|
1994
|
-
safeForPublicCopy: false,
|
|
1995
|
-
}),
|
|
1996
|
-
Object.freeze({
|
|
1997
|
-
id: "hook_doctor_basic",
|
|
1998
|
-
label: "Hook doctor",
|
|
1999
|
-
description: "Validate installed hooks, command paths, lifecycle handler smoke test, recursion guard, and rollback availability.",
|
|
2000
|
-
bucket: "seamless_agent_security",
|
|
2001
|
-
availability: { free: true, pro: true },
|
|
2002
|
-
implementationStatus: "supported",
|
|
2003
|
-
surfaceType: "detection",
|
|
2004
|
-
safeForPublicCopy: false,
|
|
2005
|
-
}),
|
|
2006
|
-
Object.freeze({
|
|
2007
|
-
id: "hook_recursion_guard_basic",
|
|
2008
|
-
label: "Hook recursion guard",
|
|
2009
|
-
description: "Prevent hook re-entry when a lifecycle-hook-triggered command calls another Avorelo command. Uses AVORELO_HOOK_ACTIVE env var. Returns recursionSkipped receipt.",
|
|
2010
|
-
bucket: "seamless_agent_security",
|
|
2011
|
-
availability: { free: true, pro: true },
|
|
2012
|
-
implementationStatus: "supported",
|
|
2013
|
-
surfaceType: "policy",
|
|
2014
|
-
safeForPublicCopy: false,
|
|
2015
|
-
}),
|
|
2016
|
-
Object.freeze({
|
|
2017
|
-
id: "lifecycle_live_smoke_basic",
|
|
2018
|
-
label: "Lifecycle live smoke test",
|
|
2019
|
-
description: "Doctor command runs session-start, pre-tool-use (destructive sample), stop, and session-end handlers to verify they work before claiming lifecycle is live.",
|
|
2020
|
-
bucket: "seamless_agent_security",
|
|
2021
|
-
availability: { free: true, pro: true },
|
|
2022
|
-
implementationStatus: "supported",
|
|
2023
|
-
surfaceType: "detection",
|
|
2024
|
-
safeForPublicCopy: false,
|
|
2025
|
-
}),
|
|
2026
|
-
Object.freeze({
|
|
2027
|
-
id: "e2e_value_dogfood_gate_basic",
|
|
2028
|
-
label: "E2E value dogfood gate",
|
|
2029
|
-
description: "Structured dogfood scorecard verifying Avorelo-on-Avorelo before and after implementation: manual steps avoided, risk reduced, proof status, verdict.",
|
|
2030
|
-
bucket: "evidence_and_history",
|
|
2031
|
-
availability: { free: true, pro: true },
|
|
2032
|
-
implementationStatus: "supported",
|
|
2033
|
-
surfaceType: "evidence",
|
|
2034
|
-
safeForPublicCopy: false,
|
|
2035
|
-
}),
|
|
2036
|
-
// PR #142 — Activation Alpha Readiness + First Value v1
|
|
2037
|
-
Object.freeze({
|
|
2038
|
-
id: "alpha_activation_basic",
|
|
2039
|
-
label: "Alpha activation",
|
|
2040
|
-
description: "One command to check activation readiness, get first value path, and see what Avorelo will do.",
|
|
2041
|
-
bucket: "activation_readiness",
|
|
2042
|
-
availability: { free: true, pro: true },
|
|
2043
|
-
implementationStatus: "supported",
|
|
2044
|
-
surfaceType: "detection",
|
|
2045
|
-
safeForPublicCopy: true,
|
|
2046
|
-
customerFacingDescription: "Run one command to understand what Avorelo will do for your project and get your first value.",
|
|
2047
|
-
}),
|
|
2048
|
-
Object.freeze({
|
|
2049
|
-
id: "first_value_path_basic",
|
|
2050
|
-
label: "First value path",
|
|
2051
|
-
description: "Deterministic first-value path selection: hooks, profile, proof, or safe run prepare-only.",
|
|
2052
|
-
bucket: "activation_readiness",
|
|
2053
|
-
availability: { free: true, pro: true },
|
|
2054
|
-
implementationStatus: "supported",
|
|
2055
|
-
surfaceType: "detection",
|
|
2056
|
-
safeForPublicCopy: true,
|
|
2057
|
-
customerFacingDescription: "Avorelo recommends the clearest first action for your project without guessing.",
|
|
2058
|
-
}),
|
|
2059
|
-
Object.freeze({
|
|
2060
|
-
id: "alpha_readiness_gate_basic",
|
|
2061
|
-
label: "Alpha readiness gate",
|
|
2062
|
-
description: "Gate that checks all required Avorelo foundations before alpha use. Not public launch readiness.",
|
|
2063
|
-
bucket: "activation_readiness",
|
|
2064
|
-
availability: { free: true, pro: true },
|
|
2065
|
-
implementationStatus: "supported",
|
|
2066
|
-
surfaceType: "detection",
|
|
2067
|
-
safeForPublicCopy: false,
|
|
2068
|
-
}),
|
|
2069
|
-
Object.freeze({
|
|
2070
|
-
id: "local_feedback_capture_basic",
|
|
2071
|
-
label: "Local feedback capture",
|
|
2072
|
-
description: "Capture dogfood and support feedback locally. Redacted, no PII, feeds company-loop.",
|
|
2073
|
-
bucket: "evidence_and_history",
|
|
2074
|
-
availability: { free: true, pro: true },
|
|
2075
|
-
implementationStatus: "supported",
|
|
2076
|
-
surfaceType: "evidence",
|
|
2077
|
-
safeForPublicCopy: false,
|
|
2078
|
-
}),
|
|
2079
|
-
Object.freeze({
|
|
2080
|
-
id: "support_bundle_basic",
|
|
2081
|
-
label: "Support bundle",
|
|
2082
|
-
description: "Redacted support/debug bundle with artifact references and status summaries.",
|
|
2083
|
-
bucket: "evidence_and_history",
|
|
2084
|
-
availability: { free: true, pro: true },
|
|
2085
|
-
implementationStatus: "supported",
|
|
2086
|
-
surfaceType: "evidence",
|
|
2087
|
-
safeForPublicCopy: false,
|
|
2088
|
-
}),
|
|
2089
|
-
Object.freeze({
|
|
2090
|
-
id: "activation_company_loop_integration_basic",
|
|
2091
|
-
label: "Activation feedback loop",
|
|
2092
|
-
description: "Alpha feedback feeds company-loop and informs next PR recommendation.",
|
|
2093
|
-
bucket: "evidence_and_history",
|
|
2094
|
-
availability: { free: true, pro: true },
|
|
2095
|
-
implementationStatus: "supported",
|
|
2096
|
-
surfaceType: "evidence",
|
|
2097
|
-
safeForPublicCopy: false,
|
|
2098
|
-
}),
|
|
2099
|
-
Object.freeze({
|
|
2100
|
-
id: "e2e_value_dogfood_gate_basic_pr142",
|
|
2101
|
-
label: "E2E value dogfood gate (alpha activation)",
|
|
2102
|
-
description: "Documented E2E value scenarios for alpha activation with scorecards.",
|
|
2103
|
-
bucket: "evidence_and_history",
|
|
2104
|
-
availability: { free: true, pro: true },
|
|
2105
|
-
implementationStatus: "supported",
|
|
2106
|
-
surfaceType: "evidence",
|
|
2107
|
-
safeForPublicCopy: false,
|
|
2108
|
-
}),
|
|
2109
|
-
// PR #144 — Launch Hardening + Failure Recovery v1
|
|
2110
|
-
defineCapability({
|
|
2111
|
-
id: "launch_hardening_gate_basic",
|
|
2112
|
-
label: "Launch hardening gate",
|
|
2113
|
-
description: "Verify all launch-hardening checks pass before alpha: activation, hooks, token gate, support bundle, proof, artifacts.",
|
|
2114
|
-
bucket: "evidence_and_history",
|
|
2115
|
-
availability: { free: true, pro: true },
|
|
2116
|
-
}),
|
|
2117
|
-
defineCapability({
|
|
2118
|
-
id: "failure_recovery_taxonomy_basic",
|
|
2119
|
-
label: "Failure recovery taxonomy",
|
|
2120
|
-
description: "Classify every failure with a safe next action, severity, and recoverability flag.",
|
|
2121
|
-
bucket: "evidence_and_history",
|
|
2122
|
-
availability: { free: true, pro: true },
|
|
2123
|
-
}),
|
|
2124
|
-
defineCapability({
|
|
2125
|
-
id: "doctor_recovery_basic",
|
|
2126
|
-
label: "Doctor with recovery",
|
|
2127
|
-
description: "Aggregate activation, hooks, tokens, artifacts, and proof into a single compact health check with recovery actions.",
|
|
2128
|
-
bucket: "evidence_and_history",
|
|
2129
|
-
availability: { free: true, pro: true },
|
|
2130
|
-
}),
|
|
2131
|
-
defineCapability({
|
|
2132
|
-
id: "artifact_health_basic",
|
|
2133
|
-
label: "Artifact health scan",
|
|
2134
|
-
description: "Scan .claude/cco artifacts for invalid JSON, stale receipts, oversized files, and redaction failures.",
|
|
2135
|
-
bucket: "evidence_and_history",
|
|
2136
|
-
availability: { free: true, pro: true },
|
|
2137
|
-
}),
|
|
2138
|
-
defineCapability({
|
|
2139
|
-
id: "artifact_cleanup_basic",
|
|
2140
|
-
label: "Artifact cleanup (dry-run)",
|
|
2141
|
-
description: "Plan and apply safe cleanup of stale .claude/cco artifacts. Default dry-run; requires --yes for real deletion.",
|
|
2142
|
-
bucket: "evidence_and_history",
|
|
2143
|
-
availability: { free: true, pro: true },
|
|
2144
|
-
}),
|
|
2145
|
-
defineCapability({
|
|
2146
|
-
id: "support_bundle_hardening_basic",
|
|
2147
|
-
label: "Support bundle hardening",
|
|
2148
|
-
description: "Ensure support bundles include schema version, artifact integrity summary, failure recovery summary, and no raw secrets.",
|
|
2149
|
-
bucket: "evidence_and_history",
|
|
2150
|
-
availability: { free: true, pro: true },
|
|
2151
|
-
}),
|
|
2152
|
-
defineCapability({
|
|
2153
|
-
id: "cross_platform_sanity_basic",
|
|
2154
|
-
label: "Cross-platform path sanity",
|
|
2155
|
-
description: "Validate Windows/POSIX path handling, spaces in paths, and monorepo ambiguity.",
|
|
2156
|
-
bucket: "evidence_and_history",
|
|
2157
|
-
availability: { free: true, pro: true },
|
|
2158
|
-
}),
|
|
2159
|
-
defineCapability({
|
|
2160
|
-
id: "non_interactive_ci_mode_basic",
|
|
2161
|
-
label: "Non-interactive CI mode",
|
|
2162
|
-
description: "All commands support --json and --dry-run for CI/non-TTY environments.",
|
|
2163
|
-
bucket: "evidence_and_history",
|
|
2164
|
-
availability: { free: true, pro: true },
|
|
2165
|
-
}),
|
|
2166
|
-
defineCapability({
|
|
2167
|
-
id: "e2e_launch_hardening_dogfood_basic",
|
|
2168
|
-
label: "E2E launch hardening dogfood",
|
|
2169
|
-
description: "End-to-end failure-mode dogfood covering all launch-hardening scenarios with verdicts.",
|
|
2170
|
-
bucket: "evidence_and_history",
|
|
2171
|
-
availability: { free: true, pro: true },
|
|
2172
|
-
}),
|
|
2173
|
-
]);
|
|
2174
|
-
|
|
2175
|
-
const CAPABILITY_MAP = new Map(CAPABILITIES.map((capability) => [capability.id, capability]));
|
|
2176
|
-
const BUCKET_MAP = new Map(BUCKETS.map((bucket) => [bucket.id, bucket]));
|
|
2177
|
-
|
|
2178
|
-
const PLANS = Object.freeze({
|
|
2179
|
-
free: {
|
|
2180
|
-
id: "free",
|
|
2181
|
-
name: "Free",
|
|
2182
|
-
subtitle: "Real local optimization from your first repo.",
|
|
2183
|
-
promise: "Real local optimization from your first repo.",
|
|
2184
|
-
publicDescription: "Free improves your first AI coding sessions.",
|
|
2185
|
-
selectable: true,
|
|
2186
|
-
historyRetention: { mode: "latest_only", maxReports: 1, retentionDays: 7 },
|
|
2187
|
-
exportReports: false,
|
|
2188
|
-
},
|
|
2189
|
-
pro: {
|
|
2190
|
-
id: "pro",
|
|
2191
|
-
name: "Pro",
|
|
2192
|
-
subtitle: "Your always-on optimization, security, and QA layer.",
|
|
2193
|
-
promise: "Your always-on optimization, security, and QA layer for AI coding.",
|
|
2194
|
-
publicDescription: "Pro turns Avorelo into your always-on optimization, security, and QA layer.",
|
|
2195
|
-
selectable: true,
|
|
2196
|
-
historyRetention: { mode: "history", maxReports: 50, retentionDays: 30 },
|
|
2197
|
-
exportReports: true,
|
|
2198
|
-
},
|
|
2199
|
-
teams_enterprise_contact: {
|
|
2200
|
-
id: "teams_enterprise_contact",
|
|
2201
|
-
name: "Teams & Enterprise",
|
|
2202
|
-
subtitle: "Planned for larger teams.",
|
|
2203
|
-
promise: "Teams & Enterprise are planned for larger teams. Need shared policies, team dashboards, CI gates, SSO, or procurement support? Contact us for early access.",
|
|
2204
|
-
publicDescription: "Teams is not launched yet.",
|
|
2205
|
-
selectable: false,
|
|
2206
|
-
},
|
|
2207
|
-
});
|
|
2208
|
-
|
|
2209
|
-
function getPlan(planName) {
|
|
2210
|
-
const key = String(planName || "free").trim().toLowerCase();
|
|
2211
|
-
return PLANS[key] || null;
|
|
2212
|
-
}
|
|
2213
|
-
|
|
2214
|
-
function getCapability(capabilityId) {
|
|
2215
|
-
return CAPABILITY_MAP.get(String(capabilityId || "").trim()) || null;
|
|
2216
|
-
}
|
|
2217
|
-
|
|
2218
|
-
function isCapabilityEnabled(planName, capabilityId) {
|
|
2219
|
-
const plan = getPlan(planName);
|
|
2220
|
-
const capability = getCapability(capabilityId);
|
|
2221
|
-
if (!plan || !capability || plan.selectable === false) return false;
|
|
2222
|
-
return Boolean(capability.availability?.[plan.id]);
|
|
2223
|
-
}
|
|
2224
|
-
|
|
2225
|
-
function publicCapability(capability, planId) {
|
|
2226
|
-
return {
|
|
2227
|
-
...capability,
|
|
2228
|
-
plan: planId,
|
|
2229
|
-
};
|
|
2230
|
-
}
|
|
2231
|
-
|
|
2232
|
-
function listCapabilitiesForPlan(planName) {
|
|
2233
|
-
const plan = getPlan(planName);
|
|
2234
|
-
if (!plan || plan.selectable === false) return [];
|
|
2235
|
-
return CAPABILITIES
|
|
2236
|
-
.filter((capability) => capability.safeForPublicCopy !== false)
|
|
2237
|
-
.filter((capability) => isCapabilityEnabled(plan.id, capability.id))
|
|
2238
|
-
.map((capability) => publicCapability(capability, plan.id));
|
|
2239
|
-
}
|
|
2240
|
-
|
|
2241
|
-
function explainCapabilityForPlan(planName, capabilityId) {
|
|
2242
|
-
const plan = getPlan(planName);
|
|
2243
|
-
const capability = getCapability(capabilityId);
|
|
2244
|
-
if (!capability) {
|
|
2245
|
-
return {
|
|
2246
|
-
plan: plan?.id || null,
|
|
2247
|
-
capabilityId,
|
|
2248
|
-
enabled: false,
|
|
2249
|
-
summary: `Unknown capability: ${capabilityId}.`,
|
|
2250
|
-
};
|
|
2251
|
-
}
|
|
2252
|
-
|
|
2253
|
-
const enabled = Boolean(plan && plan.selectable !== false && capability.availability?.[plan.id]);
|
|
2254
|
-
return {
|
|
2255
|
-
plan: plan?.id || null,
|
|
2256
|
-
capabilityId: capability.id,
|
|
2257
|
-
label: capability.label,
|
|
2258
|
-
bucket: capability.bucket,
|
|
2259
|
-
enabled,
|
|
2260
|
-
implementationStatus: capability.implementationStatus,
|
|
2261
|
-
quota: capability.quota || null,
|
|
2262
|
-
surfaceType: capability.surfaceType,
|
|
2263
|
-
safeForPublicCopy: capability.safeForPublicCopy !== false,
|
|
2264
|
-
summary: enabled
|
|
2265
|
-
? `${plan.name} includes ${capability.label.toLowerCase()}. ${capability.customerFacingDescription || capability.description}`
|
|
2266
|
-
: `${plan?.name || "This plan"} does not include ${capability.label.toLowerCase()}.`,
|
|
2267
|
-
};
|
|
2268
|
-
}
|
|
2269
|
-
|
|
2270
|
-
function listBucketsForPlan(planName) {
|
|
2271
|
-
const capabilities = listCapabilitiesForPlan(planName);
|
|
2272
|
-
return BUCKETS.map((bucket) => ({
|
|
2273
|
-
...bucket,
|
|
2274
|
-
capabilities: capabilities.filter((capability) => capability.bucket === bucket.id),
|
|
2275
|
-
})).filter((bucket) => bucket.capabilities.length > 0);
|
|
2276
|
-
}
|
|
2277
|
-
|
|
2278
|
-
function comparePlans() {
|
|
2279
|
-
const publicUpgradeUnlocks = CAPABILITIES
|
|
2280
|
-
.filter((capability) => capability.safeForPublicCopy !== false)
|
|
2281
|
-
.filter((capability) => capability.availability?.pro && !capability.availability?.free)
|
|
2282
|
-
.map((capability) => ({
|
|
2283
|
-
id: capability.id,
|
|
2284
|
-
label: capability.label,
|
|
2285
|
-
bucket: BUCKET_MAP.get(capability.bucket)?.label || capability.bucket,
|
|
2286
|
-
implementationStatus: capability.implementationStatus,
|
|
2287
|
-
surfaceType: capability.surfaceType,
|
|
2288
|
-
}));
|
|
2289
|
-
|
|
2290
|
-
return {
|
|
2291
|
-
plans: {
|
|
2292
|
-
free: {
|
|
2293
|
-
...PLANS.free,
|
|
2294
|
-
capabilities: listCapabilitiesForPlan("free"),
|
|
2295
|
-
buckets: listBucketsForPlan("free"),
|
|
2296
|
-
},
|
|
2297
|
-
pro: {
|
|
2298
|
-
...PLANS.pro,
|
|
2299
|
-
capabilities: listCapabilitiesForPlan("pro"),
|
|
2300
|
-
buckets: listBucketsForPlan("pro"),
|
|
2301
|
-
},
|
|
2302
|
-
},
|
|
2303
|
-
upgradeUnlocks: publicUpgradeUnlocks,
|
|
2304
|
-
teamsEnterpriseNote: PLANS.teams_enterprise_contact.promise,
|
|
2305
|
-
};
|
|
2306
|
-
}
|
|
2307
|
-
|
|
2308
|
-
module.exports = {
|
|
2309
|
-
BUCKETS,
|
|
2310
|
-
CAPABILITIES,
|
|
2311
|
-
getPlan,
|
|
2312
|
-
getCapability,
|
|
2313
|
-
isCapabilityEnabled,
|
|
2314
|
-
listCapabilitiesForPlan,
|
|
2315
|
-
comparePlans,
|
|
2316
|
-
explainCapabilityForPlan,
|
|
2317
|
-
listBucketsForPlan,
|
|
2318
|
-
};
|