feat: add provider-neutral telemetry contract - #26
Conversation
|
@coderabbitai review |
|
Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughWalkthroughThis change adds optional, provider-neutral project telemetry as bounded, read-only advisory evidence. It updates CLI configuration and migration, onboarding and operational guidance, a new telemetry skill and contract, packed artifacts, evaluation scenarios, and regression tests. ChangesProject telemetry capability
Estimated code review effort: 4 (Complex) | ~45 minutes Sequence Diagram(s)sequenceDiagram
participant ProjectStart
participant Config
participant TelemetrySkill
participant Repository
ProjectStart->>Config: read telemetry provider identifiers
ProjectStart->>TelemetrySkill: provide conditional telemetry guidance
TelemetrySkill->>Config: verify configured provider and constraints
TelemetrySkill->>Repository: validate bounded observation against repository evidence
Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
✅ Action performedReview finished.
|
There was a problem hiding this comment.
Actionable comments posted: 5
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@assets/project-template/.agent-stack/HANDOFF.md`:
- Around line 68-71: Unify telemetry activation so it requires both a configured
scoped provider and relevant production or operational evidence. In
assets/project-template/.agent-stack/HANDOFF.md lines 68-71, remove activation
based solely on an operational-evidence request without a provider; in
assets/project-template/AGENTS.md lines 84-90, add the same production/evidence
relevance requirement alongside provider configuration. Otherwise keep work
repository-only and retain the existing read-only, bounded-reference, and
provider-unavailable fallback behavior.
In `@bin/ultimate-agent-stack.mjs`:
- Around line 1094-1105: Update migrateConfig() to validate that
config.capabilities.telemetry is a non-null object before assigning nested
defaults, replacing malformed values with a safe object while preserving valid
telemetry settings. Update commandDoctor() to guard telemetry and providers
access against non-object or missing values, allowing it to report a
configuration error rather than throw.
- Around line 345-349: Update commandConfigure() so onboarding either persists
the selected telemetry provider into capabilities.telemetry.providers, including
the corresponding validation-compatible registration, or removes the
telemetry-provider prompt if no provider should be configurable. Keep the
existing telemetry validation behavior consistent with the chosen flow and the
TELEMETRY_PROVIDERS configuration.
In `@evals/scenarios.json`:
- Around line 83-87: Add write_project_files to the read-only diagnosis
scenario’s forbidden_actions list, and include any other evaluator-recognized
project-mutation actions alongside the existing forbidden actions so the
scenario cannot modify project files before proposing a fix.
In `@test/skill-eval.test.mjs`:
- Around line 49-50: Add an independently observed direct-telemetry-diagnosis
test case near the existing scenario count assertions, rather than relying on
passingRecord()’s copied catalog fields. Verify that telemetry activation occurs
and that the expected forbidden actions are rejected, while preserving the
existing catalog and skill count assertions.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 21c7cacc-ff99-4b56-ac76-8aae0463264e
📒 Files selected for processing (21)
.codex-plugin/plugin.jsonREADME.mdSTARTER_PROMPT.mdassets/project-template/.agent-stack/HANDOFF.mdassets/project-template/.agent-stack/core-policy.jsonassets/project-template/AGENTS.mdbin/ultimate-agent-stack.mjsdocs/ADAPTERS.mddocs/ARCHITECTURE.mddocs/OPERATING_MANUAL.mddocs/TRUST.mdevals/scenarios.jsonscripts/packed-smoke.mjsskills/run-autonomous-delivery/SKILL.mdskills/setup-autonomous-project/SKILL.mdskills/use-project-telemetry/SKILL.mdskills/use-project-telemetry/agents/openai.yamlskills/use-project-telemetry/references/telemetry-contract.mdtest/agent-stack.test.mjstest/maintenance.test.mjstest/skill-eval.test.mjs
|
@coderabbitai review |
✅ Action performedReview finished.
|
Summary
Lock-in boundary
Verification
npm run release:check— 105 tests, behavioral contracts, package dry-run, packed smokenpx --yes markdownlint-cli2@0.20.0 '**/*.md' '#node_modules'— 54 files, 0 errorsgit diff --checkSummary by CodeRabbit