Repository navigation
fix(report): follow the ReportV1 schema where tskl.es prices value, and mine commit history - #521
Conversation
…mate Onboard topic v8 names commit history as a source and keeps its evidence out of surfaced. Report topic v3 counts review comments only and has the agent explain a $0 estimate when review raised none of the patterns. Refs #520
The payload drops projection and each rule's complexity; Cloud candidates carry the agent's estimatedViolations. The facts file stops accepting estimates, and the report recipe stops asking for them and drops the all-zero explanation the server's pricing makes wrong. Refs #520
f708e52 to
27960b2
Compare
|
@claude /review |
|
Claude finished @theCodeDrift's task in 2m 39s —— View job Review completeReview mode: incremental — read 0 prior review thread(s) before reviewing.
[New] No findings. The diff is internally consistent and well-covered:
Nothing to flag; CI will confirm |
Thanks. No findings to address; the review confirms the field removals are consistent and that the OpenSpec deltas drop only the three scenarios the PR body names. — AI Coding Agent |
Testing onboarding on a C#/.NET repository produced a report that priced every rule at $0 next to 114 findings in the code today. Value was estimated from review comments alone, using inputs the agent guessed, and that repository reviews before its pull requests open. tskl.es has since taken over all value estimation, and its live ReportV1 schema changed to match. This PR brings the CLI and its recipes in line.
Every current nightly fails to publish right now. The live schema removed
projectionand rejects any field it doesn't list, so a nightly that still sendsprojectiongets a 400.reportis in no release (0.12.0 predates it), so only nightlies are affected.Report payload (follows the live schema)
https://tskl.es/api/v1/schema.projection, and no rule carriescomplexity. tskl.es estimates reviewer time, agent tokens, and dollars itself, fromfindings, each rule'ssurfaced, and each candidate's estimate.estimatedViolations, the agent's estimate of how many instances of the pattern are in the code today. It is required in the facts and never appears on a written rule, which carries the measuredviolationsinstead.estimates(contextTokens,callsPerCatch) or a candidate'scomplexity; supplying either is refused. The draft drops its default inputs, andmissingno longer listsestimates.Recipes
surfaced. The agent also notes how many instances of each runtime candidate it saw, for the report's estimate.surfaced. The agent supplies each candidate'sestimatedViolationsand no pricing input. When restating numbers, it keeps measured counts, review counts, and its own estimates apart.OpenSpec
Two changes, both archived here:
report-without-review-history: the commit-history source and the review-only rule forsurfaced.report-server-prices-value: the schema follow-through. It deliberately drops three scenarios: the small-projection gate, an all-zero explanation the first change added (superseded before it ever reachedmain), and the inputs-only payload. OpenSpec has no way to drop a single scenario, so two requirements are replaced under new titles, with the reason recorded. A trial archive confirmed only those three scenarios are dropped.Checks
pnpm typecheck,pnpm lint, andpnpm test(2,336 tests) all pass locally. The assembled payload validates against the regenerated schema, which matches the live one.Refs #520