feat(agent): render public-safe scenario summaries#416
Open
claytonlin1110 wants to merge 2 commits into
Open
Conversation
|
Important Gittensory found maintainer review notesScoped related-work signals were found for this PR. They are advisory unless the gate reports a blocker. Readiness score: 75/100
Signal definitions
Review context
Maintainer notes
Contributor next steps
Checked by Gittensory, a quiet PR intelligence layer for OSS maintainers. Learn more about Gittensor contribution workflows. |
22 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
src/scenarios/scenario-summary.tswithrenderPublicScenarioSummary(), converting outputs from the existing pressure, eligibility, and blocker simulators into a structuredPublicScenarioSummaryfor MCP/API and control-panel consumerssanitizePublicCommentwith a final defensive guard rejecting any serialization still containing forbidden language (wallet, hotkey, score estimates, trust scores, private reviewability)test/unit/scenario-summary.test.tswith 28 tests covering ranked option rendering, eligibility notes, blocker notes, data classification, combined inputs, sanitizer fixtures, and advisory-only invariantsScope
CONTRIBUTING.mdand does not reintroduce GitHub Pages, VitePress,site/, orCNAME.Validation
git diff --checknpm run actionlintnpm run typechecknpm run test:coveragelocally; global coverage stays at or above 97% for lines, statements, functions, and branches (aim for 98%+ branch coverage locally so CI variance does not fail near the threshold)npm run test:workersnpm run build:mcpnpm run test:mcp-packnpm run ui:openapi:checknpm run ui:lintnpm run ui:typechecknpm run ui:buildnpm audit --audit-level=moderateIf any required check was skipped, explain why:
npm run test:coveragesuite has 3 pre-existing failures on Windows (mcp-cli.test.ts,github-type-label.test.ts,mcp-release.test.ts) caused by a libuv platform assertion unrelated to this PR. All 96 scenario-related tests pass. Remaining CI checks (actionlint,build:mcp,ui:*,audit) are left for CI to run.Safety
Notes
renderPublicScenarioSummary()is composable: all inputs are optional, so callers can pass any subset of simulator outputs (pressure simulation, eligibility plan, blockers, scenario input) without requiring all of them.assertPublicSummaryCleanguard at the end of the render function is a defensive belt-and-suspenders check; in practice all fields are already sanitized individually before reaching it.