Repository navigation
test(tools): fix the catalog drift guard's feature list and present goal_resume - #8356
Conversation
… catalog feature list `full_product_features_enabled` asserts that its flag list equals scripts/ci/product-features.txt (less the RPC-only os-keyring), so that a new product gate cannot silently make a partial build look like the product. storage-file, secret-file and legacy-import were added to that file without being added here, so the assertion failed in every build before the catalog was even compared. List them.
Tiny Sweeper reviewVerdict: Incomplete · Priority: none Diagnostics and supporting detailsFull summaryPull request purpose (title): test(tools): fix the catalog drift guard's feature list and present goal_resume. Purpose (title): test(tools): fix the catalog drift guard's feature list and present goal_resume. The PR adds storage-file, secret-file and legacy-import to the feature-gate list in full_product_features_enabled() so the catalog fixture drift guard's equality assertion passes, and, with the comparison then reaching the catalog, registers the new goal_resume tool on the frontend side: a fixture name, a tool spec, phrase pairs, and resumeGoal translations in all 16 locales. Unreviewed paths
Partial review reasons
Review snapshot
Completeness: Incomplete Features
Tests
FindingsNo active actionable findings. Before merge
Agent review detailscritique
security
tests
commits
description
Evidence and run details
|
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
tinyagents' goals family gained `goal_resume` (a paused goal is resumed when the user continues that objective), and the tinyagents pin that brought it in made the core register it, so the core tool catalog drift guard reported it as an unknown name and the frontend fell back to a raw label. Add it to the fixture, give it a spec (flag icon, plan family, like goal_set/goal_get/goal_complete) and its active/done phrases in all 16 locales.
tinysweeper could not review the latest push, so its earlier approval no longer speaks for this pull request.
Summary
Fixes
tools::ops::tests::catalog_fixture_tests::tool_catalog_matches_frontend_fixture.full_product_features_enabled()keeps a list of the product's cargo gates and asserts that it equalsscripts/ci/product-features.txt, minus the RPC-onlyos-keyring. That stops a new product gate from silently making a partial build look like the shipped product.storage-file,secret-fileandlegacy-importwere added toproduct-features.txt(fdd6ae9, f0a727c, 478120e) but not to this list, so theassert_eq!(checked, declared)failed in every build, before the catalog comparison ran.This PR adds the three flags. A build without them, such as the gates-off lanes, now reports itself as non-product and only checks that every registered tool name is in the fixture, as the test intends for partial builds. A full product build keeps the exact-equality check.
Second drift, uncovered once the flag list held:
goal_resume. With the assertion passing, the test reached its catalog comparison and reportedadded: ["goal_resume"]. tinyagents' goals family gainedgoal_resume: a paused goal is resumed when the user continues that objective. The tinyagents pin (#8330) made the core register it, both in the product build and in partial builds, and core already names it in the orchestrator's tool list and the threads tool group. The frontend didn't know it, so the second commit:goal_resumetocoreToolNames.json;toolSpecs.ts(flag icon,planfamily, likegoal_set/goal_get/goal_complete) and phrases intoolPhrases.ts;conversations.tools.resumeGoal.{active,done}("Resuming goal" / "Resumed goal") to all 16 locales.toolPresentation.catalog.test.tsrequires every fixture name to have a non-fallback, translated label, which this provides.Tests