@bongos/core 1.21.175 → 1.21.177
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/.bongos-core.json +3371 -1636
- package/.claude/skills/ask-for-help/SKILL.md +4 -4
- package/.claude/skills/backlog-review/SKILL.md +1 -1
- package/.claude/skills/blocker-review/SKILL.md +2 -2
- package/.claude/skills/blocker-solve/SKILL.md +4 -4
- package/.claude/skills/bongos-feedback/SKILL.md +1 -1
- package/.claude/skills/bug-triage/SKILL.md +8 -8
- package/.claude/skills/builder-backup/SKILL.md +3 -3
- package/.claude/skills/builder-claim/SKILL.md +5 -5
- package/.claude/skills/builder-cost/SKILL.md +5 -5
- package/.claude/skills/builder-end/SKILL.md +6 -6
- package/.claude/skills/builder-exit/SKILL.md +2 -2
- package/.claude/skills/builder-key/SKILL.md +6 -6
- package/.claude/skills/builder-reauth/SKILL.md +4 -4
- package/.claude/skills/builder-redteam/SKILL.md +3 -3
- package/.claude/skills/builder-release/SKILL.md +3 -3
- package/.claude/skills/builder-sequence/SKILL.md +8 -8
- package/.claude/skills/builder-setup/SKILL.md +4 -4
- package/.claude/skills/builder-ship/SKILL.md +7 -7
- package/.claude/skills/builder-stage/SKILL.md +8 -8
- package/.claude/skills/builder-start/SKILL.md +4 -4
- package/.claude/skills/collab-review/SKILL.md +5 -5
- package/.claude/skills/design/SKILL.md +6 -4
- package/.claude/skills/design-sync/SKILL.md +3 -3
- package/.claude/skills/figma-design-sync/SKILL.md +4 -4
- package/.claude/skills/fix-task/SKILL.md +8 -8
- package/.claude/skills/goal-close/SKILL.md +9 -9
- package/.claude/skills/goal-create/SKILL.md +18 -18
- package/.claude/skills/grade-recover/SKILL.md +8 -8
- package/.claude/skills/grade-sweep/SKILL.md +15 -15
- package/.claude/skills/idea-triage/SKILL.md +15 -15
- package/.claude/skills/merge-mode/SKILL.md +14 -14
- package/.claude/skills/new-project/SKILL.md +5 -5
- package/.claude/skills/owner-review/SKILL.md +1 -1
- package/.claude/skills/planning-session/SKILL.md +15 -15
- package/.claude/skills/priority-session/SKILL.md +6 -6
- package/.claude/skills/read-session-export/SKILL.md +3 -3
- package/.claude/skills/recall/SKILL.md +7 -7
- package/.claude/skills/scan-before-install/SKILL.md +3 -3
- package/.claude/skills/session-handoff/SKILL.md +1 -1
- package/.claude/skills/ship-check/SKILL.md +3 -3
- package/.claude/skills/status/SKILL.md +3 -3
- package/.claude/skills/strand-fix/SKILL.md +6 -6
- package/.claude/skills/worktree-clean/SKILL.md +4 -4
- package/.gitattributes +12 -32
- package/GOVERNMENT.md +1 -1
- package/README.md +8 -8
- package/bin/bongos.js +23 -23
- package/clients/bongos-client/README.md +2 -2
- package/clients/bongos-client/bongos-client.global.js +22 -4
- package/clients/bongos-client/index.cjs +22 -4
- package/clients/bongos-client/index.d.ts +33 -4
- package/clients/bongos-client/index.mjs +21 -3
- package/config/branding.neutral.json +1 -1
- package/config/design-tokens.schema.json +1 -1
- package/config/modules.neutral.json +1 -3
- package/config/scheduled-routines.json +3 -8
- package/docs/adr/0029-status-page-outage-resilience.md +6 -6
- package/docs/adr/0091-bounding-the-kernel-and-db-carve.md +1 -1
- package/docs/adr/0093-tranche-2-core-carve-sequence.md +1 -1
- package/docs/adr/0227-a-task-network-map-is-refused-the-goal-graph-is-the-map.md +1 -1
- package/docs/adr/0294-cli-sessions-do-not-expire.md +1 -1
- package/docs/adr/0383-sessions-end-after-ten-idle-days.md +35 -0
- package/docs/adr/0384-the-raise-page-is-a-hub-module-builders-edit-in-place.md +31 -0
- package/docs/adr/README.md +2 -0
- package/docs/api/openapi.json +606 -44
- package/docs/api-reference.md +25 -12
- package/docs/architecture.md +8 -7
- package/docs/canonical-permissions.md +4 -4
- package/docs/copy-inventory.md +1370 -1411
- package/docs/copy-registry.json +2136 -2536
- package/docs/design/demonolith-plan.md +6 -6
- package/docs/design/modular-architecture/00-research-report.md +1 -1
- package/docs/design/project-startup-direction.md +2 -2
- package/docs/design/projects-hub-direction-v2.md +1 -1
- package/docs/design/reviews/hall-v2/README.md +2 -2
- package/docs/design/vanilla-hall-ui-redesign-scope.md +1 -1
- package/docs/file-map.md +92 -96
- package/docs/handoff-template.md +5 -5
- package/docs/module-api-changelog.md +7 -3
- package/docs/modules-contract.md +8 -7
- package/docs/onboarding/diagrams/01-task-lifecycle.mmd +1 -1
- package/docs/onboarding/diagrams/02-rank-ladder.mmd +1 -1
- package/docs/onboarding/diagrams/03-drachmae-karma.mmd +1 -1
- package/docs/onboarding/diagrams/04-architecture.mmd +1 -1
- package/docs/onboarding/diagrams/05-versioning.mmd +1 -1
- package/docs/onboarding/diagrams/README.md +5 -9
- package/docs/onboarding/diagrams/assertions.json +3 -3
- package/docs/onboarding/slash-commands.md +2 -2
- package/docs/packs/artist.md +4 -4
- package/docs/packs/engineer.md +11 -10
- package/docs/packs/ideator.md +7 -7
- package/docs/page-inventory.json +20 -1
- package/docs/page-readings.json +4387 -4603
- package/docs/recipes/README.md +1 -1
- package/docs/recipes/audit-replay.md +4 -4
- package/docs/recipes/autobongos-windows-host.md +6 -6
- package/docs/recipes/bongos-cli-release.md +2 -2
- package/docs/recipes/claude-design-loop.md +7 -7
- package/docs/recipes/core-release-pipeline.md +19 -19
- package/docs/recipes/failed-ship-recovery-proof.md +2 -2
- package/docs/recipes/figma-design-loop.md +6 -6
- package/docs/recipes/gds-db-backup.md +9 -9
- package/docs/recipes/instance-deploy.md +3 -3
- package/docs/recipes/instance-first-run.md +1 -1
- package/docs/recipes/multi-builder-merge.md +2 -2
- package/docs/recipes/ops-gotchas.md +13 -10
- package/docs/recipes/packaging-the-core.md +6 -6
- package/docs/recipes/parallel-goal-waves.md +4 -4
- package/docs/recipes/private-npm-distribution.md +9 -9
- package/docs/recipes/redteam-patrol.md +5 -5
- package/docs/recipes/render-pilot.md +2 -2
- package/docs/recipes/reranking-a-goals-board.md +2 -2
- package/docs/recipes/search-index-ingestion.md +5 -5
- package/docs/recipes/self-host.md +1 -1
- package/docs/recipes/ship-and-regrade.md +4 -4
- package/docs/recipes/staging-environment.md +1 -1
- package/docs/recipes/standalone-live-docs.md +1 -1
- package/docs/recipes/ui-look-before-you-ship.md +2 -2
- package/docs/recipes/upgrading-the-core.md +11 -11
- package/docs/recipes/windows-builders.md +18 -18
- package/docs/research/llm-model-agnostic-and-cheaper-grader.md +6 -6
- package/docs/research/task-network-map-readability.md +3 -3
- package/migrations/core_278_builder_tester_tag.sql +18 -0
- package/migrations/core_279_bongos_shipper_new_scripts_path.sql +13 -0
- package/modules/agents/lib/answer-hold.js +1 -1
- package/modules/agents/lib/gate.js +1 -1
- package/modules/agents/lib/validate.js +1 -1
- package/modules/autonomy/db.js +9 -0
- package/modules/autonomy/gauge.js +1 -1
- package/modules/autonomy/governor-docket.js +2 -2
- package/modules/autonomy/module.json +2 -2
- package/modules/autonomy/pollers/daily-checks.js +262 -0
- package/modules/autonomy/pollers/routine-timers.js +9 -7
- package/modules/autonomy/rank-roles.js +64 -0
- package/modules/autonomy/routes/autonomy.js +3 -3
- package/modules/autonomy/server-schedule.js +37 -0
- package/modules/builder-settings/interaction-prefs.js +1 -1
- package/modules/builder-settings/render-prefs.js +1 -1
- package/modules/builder-settings/routes/settings.js +1 -1
- package/modules/builder-settings/skill-prefs.js +2 -2
- package/modules/builder-settings/wandering-prefs.js +2 -2
- package/modules/copy-desk/module.json +2 -2
- package/modules/copy-desk/page-data.js +5 -5
- package/modules/copy-desk/page-decisions.js +13 -1
- package/modules/copy-desk/proposals.js +4 -4
- package/modules/copy-desk/registry.js +2 -2
- package/modules/copy-desk/routes/copy-desk-release.js +119 -0
- package/modules/copy-desk/routes/copy-desk.js +3 -12
- package/modules/copy-desk/skills/tweak/SKILL.md +12 -12
- package/modules/copy-desk/tests/copy_flags.mjs +1 -1
- package/modules/copy-desk/tests/copy_no_cms.mjs +7 -3
- package/modules/copy-desk/tests/copy_proposals.mjs +2 -2
- package/modules/copy-desk/tests/copy_queue.mjs +1 -1
- package/modules/design-styles/skills/README.md +4 -4
- package/modules/design-styles/skills/imagegen-frontend-mobile/SKILL.md +1 -1
- package/modules/design-styles/skills/imagegen-frontend-web/SKILL.md +1 -1
- package/modules/discord/bug-attachments.js +1 -1
- package/modules/discord/ship-broadcast.js +1 -1
- package/modules/economy/achievements.js +49 -7
- package/modules/economy/cost-classify.js +6 -6
- package/modules/economy/cost-report.js +1 -1
- package/modules/economy/cost.js +1 -1
- package/modules/economy/credits.js +2 -1
- package/modules/economy/idea-size.js +2 -2
- package/modules/economy/reward.js +2 -0
- package/modules/economy/routes/cost.js +1 -1
- package/modules/economy/streak.js +43 -4
- package/modules/government/asks.js +1 -1
- package/modules/government/board.js +19 -2
- package/modules/government/catalog.js +3 -0
- package/modules/government/migrations/government_033_idea_vote.sql +46 -0
- package/modules/government/protected-surfaces.json +48 -47
- package/modules/government/recommendations.js +6 -2
- package/modules/government/routes/government.js +1 -1
- package/modules/grading/generated-provenance.js +13 -5
- package/modules/grading/grade-engine.js +1 -1
- package/modules/grading/grader-rubric.json +1 -1
- package/modules/grading/grader-score.js +1 -1
- package/modules/grading/grader-workers/index.js +1 -1
- package/modules/grading/grader.js +1 -1
- package/modules/grading/routes/grade.js +1 -1
- package/modules/hall-ui/public/atlas.html +5 -7
- package/modules/hall-ui/public/atlas.js +1 -1
- package/modules/hall-ui/public/atlas.states.json +1 -1
- package/modules/hall-ui/public/blockers.css +9 -0
- package/modules/hall-ui/public/blockers.html +4 -4
- package/modules/hall-ui/public/blockers.js +29 -30
- package/modules/hall-ui/public/board-room.css +5 -17
- package/modules/hall-ui/public/board-room.html +5 -6
- package/modules/hall-ui/public/board-room.js +41 -23
- package/modules/hall-ui/public/board-room.states.json +1 -1
- package/modules/hall-ui/public/brand-apply.js +1 -1
- package/modules/hall-ui/public/brand-holes.js +1 -1
- package/modules/hall-ui/public/builders.js +40 -86
- package/modules/hall-ui/public/city-decide.js +18 -4
- package/modules/hall-ui/public/city.html +1 -1
- package/modules/hall-ui/public/collab.html +1 -1
- package/modules/hall-ui/public/commands.html +6 -9
- package/modules/hall-ui/public/copy-desk.html +1 -1
- package/modules/hall-ui/public/copy-desk.js +2 -2
- package/modules/hall-ui/public/craft-mode.js +4 -0
- package/modules/hall-ui/public/deploy.html +6 -2
- package/modules/hall-ui/public/deploy.js +21 -13
- package/modules/hall-ui/public/diagrams.css +1 -1
- package/modules/hall-ui/public/diagrams.html +5 -8
- package/modules/hall-ui/public/diagrams.states.json +1 -1
- package/modules/hall-ui/public/drachmae.html +3 -7
- package/modules/hall-ui/public/fleet.html +3 -2
- package/modules/hall-ui/public/fleet.js +0 -4
- package/modules/hall-ui/public/gate.html +7 -7
- package/modules/hall-ui/public/gate.js +58 -77
- package/modules/hall-ui/public/goal-map.html +1 -1
- package/modules/hall-ui/public/goals-page.js +5 -5
- package/modules/hall-ui/public/goals-render.js +10 -11
- package/modules/hall-ui/public/goals.css +10 -0
- package/modules/hall-ui/public/goals.html +14 -7
- package/modules/hall-ui/public/government.html +3 -5
- package/modules/hall-ui/public/government.js +1 -5
- package/modules/hall-ui/public/hall-render.js +117 -57
- package/modules/hall-ui/public/hall-widgets.js +11 -11
- package/modules/hall-ui/public/idea.html +1 -1
- package/modules/hall-ui/public/ideas.html +3 -1
- package/modules/hall-ui/public/ideas.js +1 -0
- package/modules/hall-ui/public/index.html +12 -6
- package/modules/hall-ui/public/index.states.json +1 -1
- package/modules/hall-ui/public/mine-lens.js +1 -1
- package/modules/hall-ui/public/modules.html +7 -10
- package/modules/hall-ui/public/modules.js +0 -2
- package/modules/hall-ui/public/my-agents.html +1 -1
- package/modules/hall-ui/public/palette.js +5 -5
- package/modules/hall-ui/public/primer.html +4 -9
- package/modules/hall-ui/public/profile-connections.js +10 -2
- package/modules/hall-ui/public/profile-roles.js +3 -10
- package/modules/hall-ui/public/profile.html +12 -10
- package/modules/hall-ui/public/profile.js +13 -17
- package/modules/hall-ui/public/project-settings.html +3 -4
- package/modules/hall-ui/public/project-settings.js +0 -3
- package/modules/hall-ui/public/ranks.html +5 -11
- package/modules/hall-ui/public/ranks.js +6 -8
- package/modules/hall-ui/public/roadmap.css +0 -2
- package/modules/hall-ui/public/roadmap.html +1 -1
- package/modules/hall-ui/public/roadmap.js +16 -51
- package/modules/hall-ui/public/roster.html +1 -1
- package/modules/hall-ui/public/sessions.html +6 -8
- package/modules/hall-ui/public/sessions.js +7 -7
- package/modules/hall-ui/public/settings.html +1 -1
- package/modules/hall-ui/public/shell-trail.js +1 -1
- package/modules/hall-ui/public/shell.js +17 -17
- package/modules/hall-ui/public/street-deck.css +2 -1
- package/modules/hall-ui/public/street-deck.js +10 -2
- package/modules/hall-ui/public/street-desk.js +16 -5
- package/modules/hall-ui/public/street.html +1 -1
- package/modules/hall-ui/public/studio-lib.js +4 -0
- package/modules/hall-ui/public/studio.css +2 -0
- package/modules/hall-ui/public/studio.html +1 -1
- package/modules/hall-ui/public/studio.js +27 -1
- package/modules/hall-ui/public/style.css +43 -26
- package/modules/hall-ui/public/task-detail.js +10 -7
- package/modules/hall-ui/public/task.css +2 -0
- package/modules/hall-ui/public/task.html +3 -1
- package/modules/hall-ui/public/task.js +23 -7
- package/modules/hall-ui/public/thinking.html +1 -1
- package/modules/hall-ui/public/tweak-editor.html +1 -1
- package/modules/hall-ui/public/vote-control.js +208 -0
- package/modules/hall-ui/public/watch.html +3 -5
- package/modules/hall-ui/public/watch.js +5 -4
- package/modules/hall-ui/public/welcome-boot.css +130 -0
- package/modules/hall-ui/public/welcome-boot.js +334 -0
- package/modules/hall-ui/public/welcome-day.webp +0 -0
- package/modules/hall-ui/public/welcome-night.webp +0 -0
- package/modules/hall-ui/public/work-summary.js +1 -1
- package/modules/hall-ui/public/work.css +1 -0
- package/modules/hall-ui/public/work.html +3 -1
- package/modules/hall-ui/public/work.js +2 -1
- package/modules/hall-ui/records/accomplishments.md +16 -0
- package/modules/hall-ui/records/hall-ask-card.md +9 -0
- package/modules/hall-ui/records/karma-vote-control.md +13 -0
- package/modules/hall-ui/records/oversight-family.md +1 -1
- package/modules/hall-ui/records/profile-connections.md +2 -0
- package/modules/hall-ui/records/profile-roles.md +1 -1
- package/modules/hall-ui/records/reading-rooms.md +1 -1
- package/modules/hall-ui/records/welcome-tower.md +50 -0
- package/modules/ideas/migrations/ideas_011_idea_votes.sql +31 -0
- package/modules/ideas/projection.js +1 -1
- package/modules/ideas/routes/blockers.js +3 -3
- package/modules/ideas/routes/inbox.js +29 -1
- package/modules/ideas/routes/ratify-goal.js +1 -1
- package/modules/ideas/routing.js +1 -1
- package/modules/ideas/templates.js +1 -1
- package/modules/ideas/trail-descent.js +1 -1
- package/modules/ideas/trail-size.js +1 -1
- package/modules/ideas/votes.js +93 -0
- package/modules/lifecycle/abandon-leftovers.js +1 -1
- package/modules/lifecycle/cascade.js +1 -1
- package/modules/lifecycle/conflict-resolve.js +13 -21
- package/modules/lifecycle/criterion-ref.js +1 -1
- package/modules/lifecycle/db-analytics.js +57 -4
- package/modules/lifecycle/db-deps-criteria.js +1 -1
- package/modules/lifecycle/db-ship.js +2 -2
- package/modules/lifecycle/db-tasks.js +2 -2
- package/modules/lifecycle/db-versions.js +1 -1
- package/modules/lifecycle/db.js +2 -0
- package/modules/lifecycle/dead-deps.js +3 -3
- package/modules/lifecycle/dependency-advisory.js +3 -3
- package/modules/lifecycle/goal-category.js +1 -1
- package/modules/lifecycle/goal-forest.js +1 -1
- package/modules/lifecycle/goal-task-relevance-advisory.js +1 -1
- package/modules/lifecycle/kickoff-checklist.js +1 -1
- package/modules/lifecycle/kickoff-seed.js +1 -1
- package/modules/lifecycle/lifecycle.js +2 -0
- package/modules/lifecycle/merge-reach.js +29 -15
- package/modules/lifecycle/missing-dep-classify.js +3 -3
- package/modules/lifecycle/module.json +2 -1
- package/modules/lifecycle/page-tweak-approve.js +85 -1
- package/modules/lifecycle/page-tweak-hold.js +1 -1
- package/modules/lifecycle/publish-reconciler.js +1 -2
- package/modules/lifecycle/rot.js +1 -1
- package/modules/lifecycle/routes/artist-gate.js +1 -1
- package/modules/lifecycle/routes/gate-approvals.js +22 -1
- package/modules/lifecycle/routes/goals.js +1 -1
- package/modules/lifecycle/routes/task-route-helpers.js +1 -1
- package/modules/lifecycle/routes/task-votes.js +54 -0
- package/modules/lifecycle/routes/task-write-routes.js +1 -1
- package/modules/lifecycle/routes/tasks.js +2 -2
- package/modules/lifecycle/routes/versions.js +2 -2
- package/modules/lifecycle/ship-card.js +4 -4
- package/modules/lifecycle/ship-preflight.js +1 -1
- package/modules/lifecycle/task-classifier.js +1 -1
- package/modules/lifecycle/task-status.js +1 -1
- package/modules/lifecycle/task-visual-db.js +1 -1
- package/modules/memory/learnings.js +1 -1
- package/modules/memory/pollers/search-index.js +2 -2
- package/modules/memory/routes/learnings.js +1 -1
- package/modules/memory/routes/memory.js +1 -1
- package/modules/memory/search.js +2 -2
- package/modules/npm-release/release.js +1 -1
- package/modules/onboarding/howto-moments.js +1 -1
- package/modules/onboarding/newcomer-restock.js +3 -3
- package/modules/onboarding/onboarding.js +1 -1
- package/modules/pixel-art/skills/otb-tile-generate/SKILL.md +1 -1
- package/modules/platform-identity/origin-containment.js +1 -1
- package/modules/platform-identity/publish-gate.js +1 -1
- package/modules/platform-identity/tests/platform-identity.mjs +1 -1
- package/modules/provisioning/capacity.js +1 -1
- package/modules/provisioning/core-upgrade.js +15 -9
- package/modules/provisioning/credential-preflight.js +3 -3
- package/modules/provisioning/disconnect.js +1 -1
- package/modules/provisioning/dns-resolves.js +1 -1
- package/modules/provisioning/module.json +1 -1
- package/modules/provisioning/onboard-plan.js +1 -1
- package/modules/provisioning/paid-shape-gate.js +2 -2
- package/modules/provisioning/planet-physics.js +11 -2
- package/modules/provisioning/pollers/liveness-sweep.js +1 -1
- package/modules/provisioning/pollers/runner-drift-notify.js +5 -5
- package/modules/provisioning/provisioning.js +2 -2
- package/modules/provisioning/render-lookup.js +1 -1
- package/modules/provisioning/render-standup.js +3 -3
- package/modules/provisioning/repo-private.js +1 -1
- package/modules/provisioning/routes/callback-page.js +1 -1
- package/modules/provisioning/routes/core-upgrade.js +23 -3
- package/modules/provisioning/routes/provisioning.js +2 -2
- package/modules/provisioning/routes/render-standup.js +1 -1
- package/modules/provisioning/routes/repo-private.js +1 -1
- package/modules/provisioning/soft-limits.js +1 -1
- package/modules/provisioning/starter-bundles.js +4 -2
- package/modules/provisioning/tests/provisioning.mjs +1 -1
- package/modules/public-landing/public/account.html +4 -6
- package/modules/public-landing/public/assets/cosmos.css +13 -6
- package/modules/public-landing/public/connections.html +4 -6
- package/modules/public-landing/public/contact.html +4 -6
- package/modules/public-landing/public/guild.html +4 -6
- package/modules/public-landing/public/index.html +11 -9
- package/modules/public-landing/public/invitations.html +4 -6
- package/modules/public-landing/public/privacy.html +4 -6
- package/modules/public-landing/public/projects.html +168 -46
- package/modules/public-landing/public/terms.html +4 -6
- package/modules/raise/content/copy.json +40 -0
- package/modules/raise/content/nda.html +39 -0
- package/modules/raise/content/settings.json +49 -0
- package/modules/raise/db.js +95 -0
- package/modules/raise/migrations/raise_001_tables.sql +71 -0
- package/modules/raise/module.json +28 -0
- package/modules/raise/page.js +194 -0
- package/modules/raise/public/edit.js +152 -0
- package/modules/raise/public/favicon.svg +1 -0
- package/modules/raise/public/logo-ink.svg +1 -0
- package/modules/raise/public/logo-night.svg +1 -0
- package/modules/raise/public/mode.js +8 -0
- package/modules/raise/public/raise.css +234 -0
- package/modules/raise/public/raise.js +91 -0
- package/modules/raise/raise.js +174 -0
- package/modules/raise/routes/raise.js +152 -0
- package/modules/raise/views/gate.html +39 -0
- package/modules/raise/views/nda.html +21 -0
- package/modules/raise/views/page.html +133 -0
- package/modules/raise/web.js +72 -0
- package/modules/render-deploy/deploys.js +1 -1
- package/modules/render-deploy/render.js +2 -2
- package/modules/security/secret-scrub.js +3 -3
- package/modules/security/security.js +1 -1
- package/modules/security/tests/artifact_scan.mjs +1 -1
- package/modules/security/tests/mirror.mjs +1 -1
- package/modules/security/tests/scan_store.mjs +1 -1
- package/modules/sessions/db.js +2 -2
- package/modules/sessions/pulse.js +2 -2
- package/modules/sessions/routes/sessions.js +1 -1
- package/modules/specialities/specialities.js +1 -1
- package/modules/status-ui/public/README.md +3 -4
- package/modules/status-ui/public/index.html +5 -31
- package/modules/status-ui/public/status.js +6 -174
- package/modules/status-ui/public/style.css +4 -133
- package/modules/ui-design/docs/design-contract.md +3 -3
- package/modules/ui-design/kit/README.md +1 -1
- package/modules/ui-design/kit/serve.js +13 -4
- package/modules/ui-design/scripts/design-sync.js +1 -1
- package/modules/ui-design/scripts/figma-design-sync.js +1 -1
- package/modules/ui-design/scripts/validate-design.js +1 -1
- package/package-lock.json +27 -11
- package/package.json +2 -3
- package/release-notes.json +186 -0
- package/scripts/bongos/CLAUDE.md +15 -0
- package/scripts/bongos/abandon.js +137 -0
- package/scripts/bongos/accessibility-replay.js +195 -0
- package/scripts/bongos/address-park-sweep.sh +91 -0
- package/scripts/bongos/adopt-detect.js +123 -0
- package/scripts/bongos/adopt-import.js +111 -0
- package/scripts/bongos/adopt-preflight.js +187 -0
- package/scripts/bongos/adr-namespace.js +273 -0
- package/scripts/bongos/agent-invoke.js +689 -0
- package/scripts/bongos/agents-sync.js +502 -0
- package/scripts/bongos/api-alias-caller-scan.js +256 -0
- package/scripts/bongos/api-artifacts.js +91 -0
- package/scripts/bongos/api.js +86 -0
- package/scripts/bongos/api.ps1 +26 -0
- package/scripts/bongos/architect-audit.js +294 -0
- package/scripts/bongos/artifact-audit.js +326 -0
- package/scripts/bongos/artifact-format.js +203 -0
- package/scripts/bongos/ask.js +231 -0
- package/scripts/bongos/audit-authorship.sh +324 -0
- package/scripts/bongos/audit-deps.js +189 -0
- package/scripts/bongos/audit-gate.js +121 -0
- package/scripts/bongos/audit-rank-roles.js +131 -0
- package/scripts/bongos/audit-replay.sh +205 -0
- package/scripts/bongos/autobongos-digest.js +123 -0
- package/scripts/bongos/autobongos-grade-cap.js +187 -0
- package/scripts/bongos/autobongos-loop.js +210 -0
- package/scripts/bongos/autobongos-run.js +1361 -0
- package/scripts/bongos/autobongos-service.cmd +50 -0
- package/scripts/bongos/autobongos-service.ps1 +270 -0
- package/scripts/bongos/autobongos-tweak-lane.js +262 -0
- package/scripts/bongos/autobongos-verify.js +618 -0
- package/scripts/bongos/autonomy-gate.js +135 -0
- package/scripts/bongos/autonomy-gauge-statusline.js +124 -0
- package/scripts/bongos/autonomy-gauge.js +84 -0
- package/scripts/bongos/backfill-cost.js +176 -0
- package/scripts/bongos/backfill-disciplines.js +144 -0
- package/scripts/bongos/backfill-session-earnings.js +123 -0
- package/scripts/bongos/backfill-session-types.js +87 -0
- package/scripts/bongos/backfill-sessions.js +411 -0
- package/scripts/bongos/backfill-subagent-rewards.js +485 -0
- package/scripts/bongos/backfill-task-rewards.js +413 -0
- package/scripts/bongos/backlog-review.js +399 -0
- package/scripts/bongos/backup-dropin-sweep.sh +95 -0
- package/scripts/bongos/backup.js +116 -0
- package/scripts/bongos/baseline-staleness.js +217 -0
- package/scripts/bongos/bfg-principal-token.js +65 -0
- package/scripts/bongos/bug-attachment-audit.js +149 -0
- package/scripts/bongos/bug-attachment-recover.js +198 -0
- package/scripts/bongos/bug-triage.js +292 -0
- package/scripts/bongos/build-bongos.js +94 -0
- package/scripts/bongos/bump-version.js +221 -0
- package/scripts/bongos/capture.js +481 -0
- package/scripts/bongos/category-advisory-guard.js +206 -0
- package/scripts/bongos/ci-grade.js +82 -0
- package/scripts/bongos/claim-recall.js +112 -0
- package/scripts/bongos/claim.js +789 -0
- package/scripts/bongos/claude-materialize.js +1200 -0
- package/scripts/bongos/claude-md-template.js +142 -0
- package/scripts/bongos/cleanup-orphans.js +74 -0
- package/scripts/bongos/cli-lib.js +1226 -0
- package/scripts/bongos/client-baseurl-guard.js +116 -0
- package/scripts/bongos/codemod-rename-scripts-gds.js +380 -0
- package/scripts/bongos/conductor-dispatch.js +535 -0
- package/scripts/bongos/context-pack.js +326 -0
- package/scripts/bongos/control-manifest.js +199 -0
- package/scripts/bongos/copy-apply.js +758 -0
- package/scripts/bongos/copy-inventory.js +571 -0
- package/scripts/bongos/core-origin-follow.js +185 -0
- package/scripts/bongos/core-pin-sync.js +260 -0
- package/scripts/bongos/cost-report.js +63 -0
- package/scripts/bongos/cost.js +47 -0
- package/scripts/bongos/credential-presence.js +296 -0
- package/scripts/bongos/cutover-codemod.js +240 -0
- package/scripts/bongos/db-backup-nightly.sh +232 -0
- package/scripts/bongos/db-backup-offsite.sh +267 -0
- package/scripts/bongos/demote.js +45 -0
- package/scripts/bongos/deploy-divergence.js +454 -0
- package/scripts/bongos/deploy-main-audit-gate.sh +97 -0
- package/scripts/bongos/design-sync.js +12 -0
- package/scripts/bongos/dev-box-guard.js +166 -0
- package/scripts/bongos/dev-lib.js +722 -0
- package/scripts/bongos/dev.js +645 -0
- package/scripts/bongos/device-flow-help.js +72 -0
- package/scripts/bongos/diagnose-achievements.js +118 -0
- package/scripts/bongos/diagram-facts.js +355 -0
- package/scripts/bongos/discord-channels.js +77 -0
- package/scripts/bongos/do-api.js +109 -0
- package/scripts/bongos/doc-cli-guard.js +274 -0
- package/scripts/bongos/doc-comment-coverage.js +139 -0
- package/scripts/bongos/doc-control-claims.js +170 -0
- package/scripts/bongos/docs-entropy.js +453 -0
- package/scripts/bongos/doctor.js +493 -0
- package/scripts/bongos/enroll-control-plane.js +101 -0
- package/scripts/bongos/exec-path-guard.js +564 -0
- package/scripts/bongos/feedback-send.js +249 -0
- package/scripts/bongos/fetch-art-key.js +106 -0
- package/scripts/bongos/fetch-sound-prefs.js +126 -0
- package/scripts/bongos/figma-design-sync.js +11 -0
- package/scripts/bongos/find-untested.js +371 -0
- package/scripts/bongos/fitness-checks-error-envelope.js +134 -0
- package/scripts/bongos/fitness-checks-identity.js +332 -0
- package/scripts/bongos/fitness-checks-packaging.js +132 -0
- package/scripts/bongos/fitness-checks-route-pins.js +76 -0
- package/scripts/bongos/fitness-checks-vocabulary.js +392 -0
- package/scripts/bongos/fitness-checks-write-validation.js +157 -0
- package/scripts/bongos/fitness-lib.js +127 -0
- package/scripts/bongos/fitness-migration-contraction.js +50 -0
- package/scripts/bongos/fitness-ratchets.js +594 -0
- package/scripts/bongos/fitness.js +1498 -0
- package/scripts/bongos/forwarder.js +80 -0
- package/scripts/bongos/gate-review.js +330 -0
- package/scripts/bongos/gating.js +348 -0
- package/scripts/{gds → bongos}/gds-db-backup.service +6 -6
- package/scripts/{gds → bongos}/gds-db-backup.timer +4 -4
- package/scripts/{gds → bongos}/gds-db-offsite.service +4 -4
- package/scripts/{gds → bongos}/gds-db-offsite.timer +4 -4
- package/scripts/bongos/gds-literal-scan.js +196 -0
- package/scripts/bongos/gen-api-client.js +576 -0
- package/scripts/bongos/gen-api-docs.js +1111 -0
- package/scripts/bongos/gen-atlas.js +366 -0
- package/scripts/bongos/gen-diagrams.js +608 -0
- package/scripts/bongos/gen-file-map.js +337 -0
- package/scripts/bongos/gen-freshness.js +32 -0
- package/scripts/bongos/gen-interaction-posture.js +122 -0
- package/scripts/bongos/gen-repo-map.js +540 -0
- package/scripts/bongos/gen-role-responsibilities.js +134 -0
- package/scripts/bongos/gen-session-index.js +243 -0
- package/scripts/bongos/gen-sounds.js +176 -0
- package/scripts/bongos/git-merge-regen.js +254 -0
- package/scripts/bongos/go-live.js +1071 -0
- package/scripts/bongos/goal.js +272 -0
- package/scripts/bongos/government-walk.js +1477 -0
- package/scripts/bongos/grade-correlation-audit.js +310 -0
- package/scripts/bongos/grade-replay.js +237 -0
- package/scripts/bongos/grade-smoke.js +205 -0
- package/scripts/bongos/home-isolation-guard.js +126 -0
- package/scripts/bongos/hooks/pre-push.js +211 -0
- package/scripts/bongos/howto.js +145 -0
- package/scripts/bongos/http-api-client.js +81 -0
- package/scripts/bongos/identity-strip.js +75 -0
- package/scripts/bongos/init.js +1159 -0
- package/scripts/bongos/install-git-hooks.js +200 -0
- package/scripts/bongos/instance-apex.js +38 -0
- package/scripts/bongos/intent-retry.js +52 -0
- package/scripts/bongos/key-card.js +222 -0
- package/scripts/bongos/key-status.js +126 -0
- package/scripts/bongos/land-watch.js +201 -0
- package/scripts/bongos/leak-scan-allowlist.js +293 -0
- package/scripts/bongos/learning-capture.js +145 -0
- package/scripts/bongos/lib.sh +74 -0
- package/scripts/bongos/linkify-refs.js +655 -0
- package/scripts/bongos/lint-infra-exec.js +70 -0
- package/scripts/bongos/lint-migrations.js +102 -0
- package/scripts/bongos/lint-workflow-exec.js +63 -0
- package/scripts/bongos/local-preview-lib.js +128 -0
- package/scripts/bongos/local-preview.js +82 -0
- package/scripts/bongos/login.js +360 -0
- package/scripts/bongos/main-audit.js +625 -0
- package/scripts/bongos/me.js +97 -0
- package/scripts/bongos/memory-map.js +176 -0
- package/scripts/bongos/merge-lock.js +71 -0
- package/scripts/bongos/migration-namespace.js +313 -0
- package/scripts/bongos/mirror-lineage-check.js +343 -0
- package/scripts/bongos/mirror-redact.js +350 -0
- package/scripts/bongos/module-artifact.js +289 -0
- package/scripts/bongos/module-assess-docs.js +238 -0
- package/scripts/bongos/module-assess-installs.js +228 -0
- package/scripts/bongos/module-assess-score.js +111 -0
- package/scripts/bongos/module-assess-security.js +252 -0
- package/scripts/bongos/module-assess-tests.js +278 -0
- package/scripts/bongos/module-assess-version.js +92 -0
- package/scripts/bongos/module-error-report.js +148 -0
- package/scripts/{gds → bongos}/module-test-runner/README.md +3 -3
- package/scripts/{gds → bongos}/module-test-runner/module-tests.yml +2 -2
- package/scripts/bongos/module-test-runner.js +414 -0
- package/scripts/bongos/module.js +1376 -0
- package/scripts/bongos/move-escalation.js +141 -0
- package/scripts/{gds → bongos}/newcomer-floor.config.json +1 -1
- package/scripts/bongos/newcomer-floor.js +421 -0
- package/scripts/{gds → bongos}/newcomer-floor.templates.json +13 -13
- package/scripts/bongos/newcomer-floor.test.js +235 -0
- package/scripts/bongos/next-number.js +163 -0
- package/scripts/bongos/oauth-secret.js +202 -0
- package/scripts/bongos/onboard.js +267 -0
- package/scripts/bongos/onboarding-analyze.js +226 -0
- package/scripts/bongos/onboarding-config.js +179 -0
- package/scripts/bongos/onboarding-ship.js +92 -0
- package/scripts/bongos/pack-env-prefix.js +73 -0
- package/scripts/bongos/package-core.js +1200 -0
- package/scripts/bongos/page-inventory.js +348 -0
- package/scripts/bongos/page-reader.js +722 -0
- package/scripts/bongos/paste-token.js +212 -0
- package/scripts/bongos/plain-cards.js +351 -0
- package/scripts/bongos/portability-smoke-art.sh +85 -0
- package/scripts/bongos/portability-smoke-memory.sh +176 -0
- package/scripts/bongos/preflight.js +214 -0
- package/scripts/bongos/probe-cache.js +246 -0
- package/scripts/bongos/prove-strict-versioning.js +284 -0
- package/scripts/bongos/provision-auto-upgrade.js +162 -0
- package/scripts/bongos/provision-byo-host.js +68 -0
- package/scripts/bongos/provision-capacity.js +79 -0
- package/scripts/bongos/provision-caps.js +63 -0
- package/scripts/bongos/provision-config.js +233 -0
- package/scripts/bongos/provision-core-upgrade.js +1166 -0
- package/scripts/bongos/provision-disconnect.js +88 -0
- package/scripts/bongos/provision-github-setup.js +168 -0
- package/scripts/bongos/provision-net.js +357 -0
- package/scripts/bongos/provision-pin-key.js +176 -0
- package/scripts/bongos/provision-pin-replay.js +126 -0
- package/scripts/bongos/provision-process.js +170 -0
- package/scripts/bongos/provision-render.js +201 -0
- package/scripts/bongos/provision-repo-auth.js +164 -0
- package/scripts/bongos/provision-repo-private.js +98 -0
- package/scripts/bongos/provision-repo.js +1337 -0
- package/scripts/bongos/provision-teardown.js +106 -0
- package/scripts/bongos/provision-units.js +469 -0
- package/scripts/bongos/provision.js +1479 -0
- package/scripts/bongos/publish-credential-check.js +66 -0
- package/scripts/bongos/publish-integration-gate.js +142 -0
- package/scripts/bongos/publish-manifest.js +440 -0
- package/scripts/bongos/publish-watch.js +268 -0
- package/scripts/bongos/pulse.js +338 -0
- package/scripts/bongos/push-main.js +56 -0
- package/scripts/bongos/push-path-brief.js +100 -0
- package/scripts/bongos/read-session-export.js +359 -0
- package/scripts/bongos/reauth.js +155 -0
- package/scripts/bongos/recall.js +183 -0
- package/scripts/bongos/redteam-patrol.js +437 -0
- package/scripts/bongos/regen-instance-docs.js +47 -0
- package/scripts/bongos/release-core.js +80 -0
- package/scripts/bongos/release-notes.js +271 -0
- package/scripts/bongos/release.js +139 -0
- package/scripts/bongos/rename-history-check.js +369 -0
- package/scripts/bongos/rename-ledger-prose.js +482 -0
- package/scripts/bongos/render-api.js +197 -0
- package/scripts/bongos/render-check.js +206 -0
- package/scripts/bongos/render-ideas.js +226 -0
- package/scripts/bongos/render-payload.js +85 -0
- package/scripts/bongos/repo-metrics.js +363 -0
- package/scripts/bongos/review-sheet.js +108 -0
- package/scripts/bongos/role-pack-guard.js +142 -0
- package/scripts/bongos/route-shadow-guard.js +175 -0
- package/scripts/bongos/routine-schedule.js +318 -0
- package/scripts/bongos/run-routine.js +257 -0
- package/scripts/bongos/run-unit-tests.js +654 -0
- package/scripts/bongos/runner-drift.js +151 -0
- package/scripts/bongos/sandbox-stage.js +459 -0
- package/scripts/bongos/scope-map-guard.js +300 -0
- package/scripts/bongos/scope-roster-guard.js +118 -0
- package/scripts/bongos/seam-wiring-guard.js +275 -0
- package/scripts/bongos/search-ingest-db.js +288 -0
- package/scripts/bongos/search-ingest-md.js +269 -0
- package/scripts/bongos/seed-bongos-v1-idea-routing-tasks.js +152 -0
- package/scripts/bongos/seed-bv1-profiles-tasks.js +135 -0
- package/scripts/bongos/seed-bv2-ideator-surface-tasks.js +390 -0
- package/scripts/bongos/seed-staging.sh +117 -0
- package/scripts/bongos/seed-verify-criteria.js +124 -0
- package/scripts/bongos/sequence.js +597 -0
- package/scripts/bongos/session-cost.js +430 -0
- package/scripts/bongos/session-digest-build.js +293 -0
- package/scripts/bongos/session-digest.js +200 -0
- package/scripts/bongos/session-eval.js +631 -0
- package/scripts/bongos/session-transcript-build.js +155 -0
- package/scripts/bongos/session-transcript-upload.js +29 -0
- package/scripts/bongos/session.js +404 -0
- package/scripts/bongos/setup.js +646 -0
- package/scripts/bongos/ship-check.js +89 -0
- package/scripts/bongos/ship-deploy-target.js +393 -0
- package/scripts/bongos/ship-escalation.js +167 -0
- package/scripts/bongos/ship-finish.js +420 -0
- package/scripts/bongos/ship-flow.js +1217 -0
- package/scripts/bongos/ship-git.js +100 -0
- package/scripts/bongos/ship-grade-steps.js +547 -0
- package/scripts/bongos/ship-grade.js +426 -0
- package/scripts/bongos/ship-honesty.js +314 -0
- package/scripts/bongos/ship-io.js +139 -0
- package/scripts/bongos/ship-land.js +1130 -0
- package/scripts/bongos/ship-memory-sync.js +249 -0
- package/scripts/bongos/ship-merge-gate.js +225 -0
- package/scripts/bongos/ship-merge.js +466 -0
- package/scripts/bongos/ship-mode-ask.js +138 -0
- package/scripts/bongos/ship-mode-manual.js +54 -0
- package/scripts/bongos/ship-preflight-steps.js +399 -0
- package/scripts/bongos/ship-regen.js +291 -0
- package/scripts/bongos/ship-resume.js +201 -0
- package/scripts/bongos/ship-session-upload.js +313 -0
- package/scripts/bongos/ship-state.js +110 -0
- package/scripts/bongos/ship-surprise.js +84 -0
- package/scripts/bongos/ship-visual.js +75 -0
- package/scripts/bongos/ship.js +382 -0
- package/scripts/bongos/shipping-mode.js +71 -0
- package/scripts/bongos/skill-lint.js +250 -0
- package/scripts/bongos/skill-preflight.js +361 -0
- package/scripts/bongos/smoke-batch-claim.sh +238 -0
- package/scripts/bongos/smoke-batch-release.sh +316 -0
- package/scripts/bongos/smoke-claim-consistency.sh +222 -0
- package/scripts/bongos/smoke-dependencies.sh +143 -0
- package/scripts/bongos/smoke-gds.js +256 -0
- package/scripts/bongos/smoke-write.sh +275 -0
- package/scripts/bongos/source-text-test-scan.js +106 -0
- package/scripts/bongos/spark.js +294 -0
- package/scripts/bongos/stale-worktrees.js +212 -0
- package/scripts/bongos/start-goals.js +102 -0
- package/scripts/bongos/start.js +1090 -0
- package/scripts/bongos/status.js +545 -0
- package/scripts/bongos/strand-watch.js +315 -0
- package/scripts/bongos/stranded-rows.js +200 -0
- package/scripts/bongos/stray-unit-sweep.sh +71 -0
- package/scripts/bongos/surface.js +101 -0
- package/scripts/bongos/task.js +273 -0
- package/scripts/bongos/test-path-guard.js +99 -0
- package/scripts/bongos/triage.js +742 -0
- package/scripts/bongos/turn-end-sound.js +74 -0
- package/scripts/bongos/tweak-halt.js +70 -0
- package/scripts/bongos/tweak-renders.js +200 -0
- package/scripts/bongos/uat.js +120 -0
- package/scripts/bongos/ui-kit-transform.js +43 -0
- package/scripts/bongos/update-channel.js +512 -0
- package/scripts/bongos/update-sweep.js +829 -0
- package/scripts/bongos/upgrade-artist-gate.js +46 -0
- package/scripts/bongos/upgrade-commit-identity.js +32 -0
- package/scripts/bongos/upgrade-migrate.js +224 -0
- package/scripts/bongos/upgrade-operator.js +73 -0
- package/scripts/bongos/upgrade-outcome.js +174 -0
- package/scripts/bongos/upgrade.js +1499 -0
- package/scripts/bongos/validate-design.js +12 -0
- package/scripts/bongos/version-close.js +621 -0
- package/scripts/bongos/version-literal-guard.js +140 -0
- package/scripts/bongos/version-select.js +79 -0
- package/scripts/bongos/visual-review-nudge.js +39 -0
- package/scripts/bongos/wedge-remedy.js +174 -0
- package/scripts/bongos/worktree-claim-guard.js +130 -0
- package/scripts/bongos/worktree.js +449 -0
- package/scripts/discord/post.js +1 -1
- package/scripts/gds/README.md +9 -0
- package/scripts/gds/abandon.js +6 -136
- package/scripts/gds/accessibility-replay.js +5 -194
- package/scripts/gds/address-park-sweep.sh +7 -90
- package/scripts/gds/adopt-detect.js +5 -121
- package/scripts/gds/adopt-import.js +5 -109
- package/scripts/gds/adopt-preflight.js +5 -185
- package/scripts/gds/adr-namespace.js +5 -271
- package/scripts/gds/agent-invoke.js +5 -687
- package/scripts/gds/agents-sync.js +5 -500
- package/scripts/gds/api-alias-caller-scan.js +5 -255
- package/scripts/gds/api-artifacts.js +6 -0
- package/scripts/gds/api.js +6 -85
- package/scripts/gds/api.ps1 +8 -26
- package/scripts/gds/architect-audit.js +6 -293
- package/scripts/gds/artifact-audit.js +5 -324
- package/scripts/gds/artifact-format.js +6 -203
- package/scripts/gds/ask.js +5 -229
- package/scripts/gds/audit-authorship.sh +7 -328
- package/scripts/gds/audit-deps.js +6 -188
- package/scripts/gds/audit-gate.js +5 -119
- package/scripts/gds/audit-rank-roles.js +6 -171
- package/scripts/gds/audit-replay.sh +7 -204
- package/scripts/gds/autobongos-digest.js +5 -121
- package/scripts/gds/autobongos-grade-cap.js +5 -186
- package/scripts/gds/autobongos-loop.js +5 -208
- package/scripts/gds/autobongos-run.js +5 -1359
- package/scripts/gds/autobongos-service.cmd +8 -49
- package/scripts/gds/autobongos-service.ps1 +8 -270
- package/scripts/gds/autobongos-tweak-lane.js +5 -261
- package/scripts/gds/autobongos-verify.js +5 -616
- package/scripts/gds/autonomy-gate.js +5 -133
- package/scripts/gds/autonomy-gauge-statusline.js +5 -122
- package/scripts/gds/autonomy-gauge.js +5 -82
- package/scripts/gds/backfill-cost.js +6 -175
- package/scripts/gds/backfill-disciplines.js +5 -142
- package/scripts/gds/backfill-session-earnings.js +5 -121
- package/scripts/gds/backfill-session-types.js +5 -85
- package/scripts/gds/backfill-sessions.js +5 -409
- package/scripts/gds/backfill-subagent-rewards.js +5 -483
- package/scripts/gds/backfill-task-rewards.js +5 -411
- package/scripts/gds/backlog-review.js +6 -398
- package/scripts/gds/backup-dropin-sweep.sh +7 -94
- package/scripts/gds/backup.js +6 -115
- package/scripts/gds/baseline-staleness.js +5 -215
- package/scripts/gds/bfg-principal-token.js +6 -64
- package/scripts/gds/bug-attachment-audit.js +5 -147
- package/scripts/gds/bug-attachment-recover.js +5 -196
- package/scripts/gds/bug-triage.js +6 -291
- package/scripts/gds/build-bongos.js +5 -92
- package/scripts/gds/bump-version.js +5 -219
- package/scripts/gds/capture.js +6 -480
- package/scripts/gds/category-advisory-guard.js +5 -205
- package/scripts/gds/ci-grade.js +6 -81
- package/scripts/gds/claim-recall.js +6 -111
- package/scripts/gds/claim.js +6 -788
- package/scripts/gds/claude-materialize.js +5 -1198
- package/scripts/gds/claude-md-template.js +5 -140
- package/scripts/gds/cleanup-orphans.js +6 -73
- package/scripts/gds/cli-lib.js +6 -1204
- package/scripts/gds/client-baseurl-guard.js +5 -114
- package/scripts/gds/conductor-dispatch.js +6 -534
- package/scripts/gds/context-pack.js +6 -325
- package/scripts/gds/control-manifest.js +5 -197
- package/scripts/gds/copy-apply.js +5 -756
- package/scripts/gds/copy-inventory.js +5 -569
- package/scripts/gds/core-origin-follow.js +5 -184
- package/scripts/gds/core-pin-sync.js +5 -258
- package/scripts/gds/cost-report.js +6 -62
- package/scripts/gds/cost.js +6 -46
- package/scripts/gds/credential-presence.js +5 -294
- package/scripts/gds/cutover-codemod.js +5 -239
- package/scripts/gds/db-backup-nightly.sh +7 -231
- package/scripts/gds/db-backup-offsite.sh +7 -266
- package/scripts/gds/demote.js +6 -44
- package/scripts/gds/deploy-divergence.js +6 -445
- package/scripts/gds/deploy-main-audit-gate.sh +7 -96
- package/scripts/gds/design-sync.js +5 -10
- package/scripts/gds/dev-box-guard.js +5 -164
- package/scripts/gds/dev-lib.js +5 -721
- package/scripts/gds/dev.js +5 -643
- package/scripts/gds/device-flow-help.js +5 -70
- package/scripts/gds/diagnose-achievements.js +5 -116
- package/scripts/gds/diagram-facts.js +6 -355
- package/scripts/gds/discord-channels.js +5 -75
- package/scripts/gds/do-api.js +6 -109
- package/scripts/gds/doc-cli-guard.js +5 -266
- package/scripts/gds/doc-comment-coverage.js +5 -137
- package/scripts/gds/doc-control-claims.js +5 -166
- package/scripts/gds/docs-entropy.js +5 -443
- package/scripts/gds/doctor.js +6 -492
- package/scripts/gds/enroll-control-plane.js +5 -99
- package/scripts/gds/exec-path-guard.js +5 -562
- package/scripts/gds/feedback-send.js +5 -247
- package/scripts/gds/fetch-art-key.js +5 -104
- package/scripts/gds/fetch-sound-prefs.js +5 -124
- package/scripts/gds/figma-design-sync.js +5 -9
- package/scripts/gds/find-untested.js +5 -369
- package/scripts/gds/fitness-checks-error-envelope.js +5 -133
- package/scripts/gds/fitness-checks-identity.js +5 -342
- package/scripts/gds/fitness-checks-packaging.js +5 -131
- package/scripts/gds/fitness-checks-route-pins.js +5 -75
- package/scripts/gds/fitness-checks-vocabulary.js +5 -391
- package/scripts/gds/fitness-checks-write-validation.js +5 -156
- package/scripts/gds/fitness-lib.js +5 -126
- package/scripts/gds/fitness-migration-contraction.js +5 -49
- package/scripts/gds/fitness-ratchets.js +5 -563
- package/scripts/gds/fitness.js +5 -1493
- package/scripts/gds/gate-review.js +5 -328
- package/scripts/gds/gating.js +5 -346
- package/scripts/gds/gds-literal-scan.js +5 -194
- package/scripts/gds/gen-api-client.js +5 -555
- package/scripts/gds/gen-api-docs.js +5 -1100
- package/scripts/gds/gen-atlas.js +5 -364
- package/scripts/gds/gen-diagrams.js +6 -607
- package/scripts/gds/gen-file-map.js +5 -335
- package/scripts/gds/gen-freshness.js +5 -31
- package/scripts/gds/gen-interaction-posture.js +5 -120
- package/scripts/gds/gen-repo-map.js +5 -538
- package/scripts/gds/gen-role-responsibilities.js +5 -133
- package/scripts/gds/gen-session-index.js +5 -241
- package/scripts/gds/gen-sounds.js +5 -174
- package/scripts/gds/git-merge-regen.js +6 -291
- package/scripts/gds/go-live.js +5 -1069
- package/scripts/gds/goal.js +6 -271
- package/scripts/gds/government-walk.js +5 -1475
- package/scripts/gds/grade-correlation-audit.js +5 -308
- package/scripts/gds/grade-replay.js +5 -235
- package/scripts/gds/grade-smoke.js +6 -204
- package/scripts/gds/home-isolation-guard.js +5 -125
- package/scripts/gds/hooks/pre-push.js +5 -209
- package/scripts/gds/howto.js +5 -143
- package/scripts/gds/http-api-client.js +6 -81
- package/scripts/gds/identity-strip.js +5 -74
- package/scripts/gds/init.js +5 -1157
- package/scripts/gds/install-git-hooks.js +5 -198
- package/scripts/gds/instance-apex.js +5 -37
- package/scripts/gds/intent-retry.js +5 -51
- package/scripts/gds/key-card.js +6 -221
- package/scripts/gds/key-status.js +5 -124
- package/scripts/gds/land-watch.js +5 -199
- package/scripts/gds/leak-scan-allowlist.js +5 -291
- package/scripts/gds/learning-capture.js +6 -144
- package/scripts/gds/lib.sh +7 -73
- package/scripts/gds/linkify-refs.js +6 -654
- package/scripts/gds/lint-infra-exec.js +5 -68
- package/scripts/gds/lint-migrations.js +5 -100
- package/scripts/gds/lint-workflow-exec.js +5 -61
- package/scripts/gds/local-preview-lib.js +6 -128
- package/scripts/gds/local-preview.js +6 -81
- package/scripts/gds/login.js +5 -358
- package/scripts/gds/main-audit.js +5 -623
- package/scripts/gds/me.js +6 -96
- package/scripts/gds/memory-map.js +5 -174
- package/scripts/gds/merge-lock.js +6 -70
- package/scripts/gds/migration-namespace.js +5 -311
- package/scripts/gds/mirror-lineage-check.js +5 -341
- package/scripts/gds/mirror-redact.js +5 -348
- package/scripts/gds/module-artifact.js +6 -289
- package/scripts/gds/module-assess-docs.js +6 -237
- package/scripts/gds/module-assess-installs.js +6 -227
- package/scripts/gds/module-assess-score.js +6 -110
- package/scripts/gds/module-assess-security.js +6 -251
- package/scripts/gds/module-assess-tests.js +6 -277
- package/scripts/gds/module-assess-version.js +6 -91
- package/scripts/gds/module-error-report.js +5 -146
- package/scripts/gds/module-test-runner.js +6 -413
- package/scripts/gds/module.js +5 -1374
- package/scripts/gds/move-escalation.js +5 -140
- package/scripts/gds/newcomer-floor.js +6 -420
- package/scripts/gds/newcomer-floor.test.js +6 -234
- package/scripts/gds/next-number.js +6 -162
- package/scripts/gds/oauth-secret.js +5 -200
- package/scripts/gds/onboard.js +5 -265
- package/scripts/gds/onboarding-analyze.js +6 -225
- package/scripts/gds/onboarding-config.js +6 -179
- package/scripts/gds/onboarding-ship.js +6 -91
- package/scripts/gds/pack-env-prefix.js +5 -72
- package/scripts/gds/package-core.js +5 -1102
- package/scripts/gds/page-inventory.js +5 -346
- package/scripts/gds/page-reader.js +5 -720
- package/scripts/gds/paste-token.js +6 -211
- package/scripts/gds/plain-cards.js +5 -350
- package/scripts/gds/portability-smoke-art.sh +7 -84
- package/scripts/gds/portability-smoke-memory.sh +7 -175
- package/scripts/gds/preflight.js +5 -212
- package/scripts/gds/probe-cache.js +5 -244
- package/scripts/gds/prove-strict-versioning.js +6 -283
- package/scripts/gds/provision-auto-upgrade.js +5 -161
- package/scripts/gds/provision-byo-host.js +5 -67
- package/scripts/gds/provision-capacity.js +5 -78
- package/scripts/gds/provision-caps.js +5 -62
- package/scripts/gds/provision-config.js +5 -232
- package/scripts/gds/provision-core-upgrade.js +5 -1165
- package/scripts/gds/provision-disconnect.js +5 -87
- package/scripts/gds/provision-github-setup.js +5 -167
- package/scripts/gds/provision-net.js +5 -356
- package/scripts/gds/provision-pin-key.js +5 -175
- package/scripts/gds/provision-pin-replay.js +5 -125
- package/scripts/gds/provision-process.js +5 -169
- package/scripts/gds/provision-render.js +5 -200
- package/scripts/gds/provision-repo-auth.js +5 -163
- package/scripts/gds/provision-repo-private.js +5 -97
- package/scripts/gds/provision-repo.js +5 -1336
- package/scripts/gds/provision-teardown.js +5 -105
- package/scripts/gds/provision-units.js +5 -468
- package/scripts/gds/provision.js +5 -1477
- package/scripts/gds/publish-credential-check.js +6 -65
- package/scripts/gds/publish-integration-gate.js +5 -140
- package/scripts/gds/publish-manifest.js +5 -437
- package/scripts/gds/publish-watch.js +5 -266
- package/scripts/gds/pulse.js +6 -335
- package/scripts/gds/push-main.js +5 -54
- package/scripts/gds/push-path-brief.js +5 -98
- package/scripts/gds/read-session-export.js +5 -357
- package/scripts/gds/reauth.js +6 -154
- package/scripts/gds/recall.js +6 -182
- package/scripts/gds/redteam-patrol.js +5 -435
- package/scripts/gds/regen-instance-docs.js +5 -45
- package/scripts/gds/release-core.js +5 -78
- package/scripts/gds/release-notes.js +5 -270
- package/scripts/gds/release.js +6 -138
- package/scripts/gds/rename-history-check.js +5 -367
- package/scripts/gds/rename-ledger-prose.js +5 -480
- package/scripts/gds/render-api.js +5 -196
- package/scripts/gds/render-check.js +5 -204
- package/scripts/gds/render-ideas.js +6 -225
- package/scripts/gds/render-payload.js +5 -84
- package/scripts/gds/repo-metrics.js +6 -362
- package/scripts/gds/review-sheet.js +5 -106
- package/scripts/gds/role-pack-guard.js +5 -141
- package/scripts/gds/route-shadow-guard.js +5 -173
- package/scripts/gds/routine-schedule.js +5 -281
- package/scripts/gds/run-routine.js +5 -255
- package/scripts/gds/run-unit-tests.js +6 -659
- package/scripts/gds/runner-drift.js +5 -149
- package/scripts/gds/sandbox-stage.js +6 -458
- package/scripts/gds/scope-map-guard.js +5 -299
- package/scripts/gds/scope-roster-guard.js +5 -117
- package/scripts/gds/seam-wiring-guard.js +5 -274
- package/scripts/gds/search-ingest-db.js +6 -287
- package/scripts/gds/search-ingest-md.js +6 -268
- package/scripts/gds/seed-bongos-v1-idea-routing-tasks.js +6 -152
- package/scripts/gds/seed-bv1-profiles-tasks.js +6 -135
- package/scripts/gds/seed-bv2-ideator-surface-tasks.js +6 -390
- package/scripts/gds/seed-staging.sh +7 -116
- package/scripts/gds/seed-verify-criteria.js +6 -124
- package/scripts/gds/sequence.js +6 -596
- package/scripts/gds/session-cost.js +6 -429
- package/scripts/gds/session-digest-build.js +6 -293
- package/scripts/gds/session-digest.js +6 -199
- package/scripts/gds/session-eval.js +6 -630
- package/scripts/gds/session-transcript-build.js +6 -155
- package/scripts/gds/session-transcript-upload.js +6 -29
- package/scripts/gds/session.js +6 -403
- package/scripts/gds/setup.js +6 -645
- package/scripts/gds/ship-check.js +5 -85
- package/scripts/gds/ship-deploy-target.js +5 -392
- package/scripts/gds/ship-escalation.js +5 -166
- package/scripts/gds/ship-finish.js +5 -419
- package/scripts/gds/ship-flow.js +5 -1216
- package/scripts/gds/ship-git.js +5 -99
- package/scripts/gds/ship-grade-steps.js +5 -546
- package/scripts/gds/ship-grade.js +5 -425
- package/scripts/gds/ship-honesty.js +5 -312
- package/scripts/gds/ship-io.js +5 -138
- package/scripts/gds/ship-land.js +5 -1129
- package/scripts/gds/ship-memory-sync.js +5 -248
- package/scripts/gds/ship-merge-gate.js +5 -224
- package/scripts/gds/ship-merge.js +5 -465
- package/scripts/gds/ship-mode-ask.js +5 -137
- package/scripts/gds/ship-mode-manual.js +5 -53
- package/scripts/gds/ship-preflight-steps.js +5 -398
- package/scripts/gds/ship-regen.js +5 -313
- package/scripts/gds/ship-resume.js +5 -200
- package/scripts/gds/ship-session-upload.js +5 -312
- package/scripts/gds/ship-state.js +5 -109
- package/scripts/gds/ship-surprise.js +5 -83
- package/scripts/gds/ship-visual.js +5 -74
- package/scripts/gds/ship.js +5 -380
- package/scripts/gds/shipping-mode.js +5 -69
- package/scripts/gds/skill-lint.js +5 -248
- package/scripts/gds/skill-preflight.js +5 -359
- package/scripts/gds/smoke-batch-claim.sh +7 -237
- package/scripts/gds/smoke-batch-release.sh +7 -315
- package/scripts/gds/smoke-claim-consistency.sh +7 -221
- package/scripts/gds/smoke-dependencies.sh +7 -142
- package/scripts/gds/smoke-gds.js +6 -255
- package/scripts/gds/smoke-write.sh +7 -274
- package/scripts/gds/source-text-test-scan.js +7 -0
- package/scripts/gds/spark.js +6 -293
- package/scripts/gds/stale-worktrees.js +5 -210
- package/scripts/gds/start-goals.js +5 -101
- package/scripts/gds/start.js +6 -1089
- package/scripts/gds/status.js +6 -544
- package/scripts/gds/strand-watch.js +5 -313
- package/scripts/gds/stranded-rows.js +5 -198
- package/scripts/gds/stray-unit-sweep.sh +7 -70
- package/scripts/gds/surface.js +5 -100
- package/scripts/gds/task.js +6 -272
- package/scripts/gds/test-path-guard.js +5 -97
- package/scripts/gds/triage.js +6 -741
- package/scripts/gds/turn-end-sound.js +5 -72
- package/scripts/gds/tweak-halt.js +5 -68
- package/scripts/gds/tweak-renders.js +5 -198
- package/scripts/gds/uat.js +6 -119
- package/scripts/gds/ui-kit-transform.js +5 -41
- package/scripts/gds/update-channel.js +5 -510
- package/scripts/gds/update-sweep.js +5 -827
- package/scripts/gds/upgrade-artist-gate.js +5 -45
- package/scripts/gds/upgrade-commit-identity.js +5 -31
- package/scripts/gds/upgrade-migrate.js +5 -223
- package/scripts/gds/upgrade-operator.js +6 -73
- package/scripts/gds/upgrade-outcome.js +5 -173
- package/scripts/gds/upgrade.js +5 -1497
- package/scripts/gds/validate-design.js +5 -10
- package/scripts/gds/version-close.js +6 -620
- package/scripts/gds/version-literal-guard.js +5 -138
- package/scripts/gds/version-select.js +5 -77
- package/scripts/gds/visual-review-nudge.js +5 -38
- package/scripts/gds/wedge-remedy.js +5 -173
- package/scripts/gds/worktree-claim-guard.js +5 -129
- package/scripts/gds/worktree.js +6 -448
- package/scripts/hall-preview/refresh-fixtures.js +1 -1
- package/scripts/hall-preview/server.js +2 -2
- package/scripts/migrate.sh +3 -3
- package/scripts/public-mirror-export.js +3 -3
- package/scripts/security/dep-audit.js +50 -124
- package/scripts/setup-builder.js +7 -7
- package/src/bongos/api-errors.js +1 -0
- package/src/bongos/api-prefix.js +1 -1
- package/src/bongos/auth-github.js +19 -3
- package/src/bongos/auth-idp.js +7 -0
- package/src/bongos/claim-attribution.js +2 -2
- package/src/bongos/core-moves.js +1 -1
- package/src/bongos/core-update.js +3 -3
- package/src/bongos/craft-mode.js +2 -2
- package/src/bongos/db-kernel.js +15 -3
- package/src/bongos/db.js +30 -4
- package/src/bongos/github-repos.js +1 -1
- package/src/bongos/llm-cache.js +1 -1
- package/src/bongos/llm-pricing.js +1 -1
- package/src/bongos/metrics.js +1 -1
- package/src/bongos/middleware/rate-limit.js +2 -2
- package/src/bongos/module-listing.js +93 -1
- package/src/bongos/module-scope-map.js +90 -85
- package/src/bongos/module-store.js +1 -1
- package/src/bongos/module-submissions.js +1 -1
- package/src/bongos/optimizer.js +1 -1
- package/src/bongos/package-registry.js +1 -1
- package/src/bongos/path-match.js +1 -1
- package/src/bongos/permission-path-check.js +3 -3
- package/src/bongos/platform-visibility-gate.js +3 -5
- package/src/bongos/prelaunch-gate.js +7 -6
- package/src/bongos/route-rank-check.js +2 -2
- package/src/bongos/routes/auth.js +15 -2
- package/src/bongos/routes/backup.js +1 -1
- package/src/bongos/routes/builders.js +29 -1
- package/src/bongos/routes/me.js +49 -18
- package/src/bongos/routes/modules.js +29 -9
- package/src/bongos/routes/public.js +3 -72
- package/src/bongos/schema-lag.js +1 -1
- package/src/bongos/sensitive-surfaces.js +1 -1
- package/src/bongos/serve-internal.js +65 -16
- package/src/bongos/software-update.js +2 -2
- package/src/bongos/upgrade-hold.js +3 -3
- package/src/hall-look.js +6 -5
- package/src/module-api.js +3 -3
- package/src/module-loader/catalog.js +1 -1
- package/src/module-loader/error-tally.js +3 -3
- package/src/module-loader/manifest-schema.js +3 -3
- package/src/platform-server.js +10 -0
- package/src/role-responsibilities.js +1 -1
- package/src/stale-timer.js +2 -2
- package/tests/accessibility_replay.mjs +1 -1
- package/tests/activity_rollup_order_db.mjs +1 -1
- package/tests/activity_snapshots_db.mjs +1 -1
- package/tests/adopt_detect.mjs +1 -1
- package/tests/adopt_import.mjs +1 -1
- package/tests/adopt_preflight.mjs +1 -1
- package/tests/adr_0089_scope.mjs +10 -7
- package/tests/adr_0162_citation.mjs +1 -1
- package/tests/adr_0162_gate_citation.mjs +1 -1
- package/tests/agent_invoke.mjs +1 -1
- package/tests/agent_invoke_live.mjs +3 -3
- package/tests/agents_cron_trigger.mjs +2 -2
- package/tests/agents_roster.mjs +1 -1
- package/tests/agents_sync.mjs +4 -4
- package/tests/allow_rule_guard.mjs +20 -20
- package/tests/api_alias_caller_ratchet.mjs +9 -10
- package/tests/api_alias_exceptions.mjs +7 -6
- package/tests/api_artifacts.mjs +214 -0
- package/tests/api_cli_flags.mjs +3 -3
- package/tests/api_client.mjs +56 -54
- package/tests/api_docs.mjs +30 -9
- package/tests/api_error_envelope_buildcheck.mjs +1 -1
- package/tests/api_msys_path_repair.mjs +2 -2
- package/tests/architect.mjs +1 -1
- package/tests/art_stage.mjs +2 -2
- package/tests/artifact_audit.mjs +2 -2
- package/tests/atlas.mjs +1 -1
- package/tests/audit_deps.mjs +1 -1
- package/tests/audit_gate.mjs +1 -1
- package/tests/auth_flow_slice1.mjs +3 -3
- package/tests/auth_inactive_builder.mjs +43 -5
- package/tests/auth_session_expiry_db.mjs +16 -4
- package/tests/auth_session_ttl.mjs +23 -0
- package/tests/authorship_audit.mjs +2 -2
- package/tests/autobongos_cadence.mjs +1 -1
- package/tests/autobongos_fence.mjs +1 -1
- package/tests/autobongos_grade_cap.mjs +2 -2
- package/tests/autobongos_heartbeat_head.mjs +1 -1
- package/tests/autobongos_host_access.mjs +3 -3
- package/tests/autobongos_loop.mjs +17 -17
- package/tests/autobongos_service_ps1.mjs +3 -3
- package/tests/autobongos_tweak_lane.mjs +2 -2
- package/tests/autobongos_verify.mjs +2 -2
- package/tests/autonomous_fit_protected_paths.mjs +3 -3
- package/tests/autonomy_config_idle.mjs +1 -1
- package/tests/autonomy_daily_checks.mjs +201 -0
- package/tests/autonomy_digest.mjs +1 -1
- package/tests/autonomy_gate.mjs +1 -1
- package/tests/autonomy_gauge.mjs +2 -2
- package/tests/autonomy_runner_identity.mjs +1 -1
- package/tests/backfill_sessions.mjs +8 -8
- package/tests/backfill_subagent_rewards.mjs +1 -1
- package/tests/backfill_task_rewards.mjs +2 -2
- package/tests/backlog_review.mjs +3 -3
- package/tests/baseline_staleness.mjs +2 -2
- package/tests/bfg.mjs +11 -5
- package/tests/bfg_write.mjs +20 -11
- package/tests/blockers_hall.mjs +14 -4
- package/tests/blockers_page_ui.mjs +56 -12
- package/tests/bongos_dispatch.mjs +5 -5
- package/tests/bongos_login.mjs +2 -2
- package/tests/bug_attachment_audit.mjs +1 -1
- package/tests/bug_attachment_recover.mjs +2 -2
- package/tests/bug_triage.mjs +3 -3
- package/tests/build_info.mjs +1 -1
- package/tests/builder_tester_tag.mjs +184 -0
- package/tests/bump_version.mjs +3 -3
- package/tests/canonical_profile_url.mjs +1 -1
- package/tests/capture_error_format.mjs +1 -1
- package/tests/capture_goal_routing.mjs +2 -2
- package/tests/category_advisory_guard.mjs +3 -3
- package/tests/claim_error_surface.mjs +2 -2
- package/tests/claim_from_task_and_home.mjs +1 -1
- package/tests/claim_gate_open_blocker.mjs +7 -4
- package/tests/claim_gate_rebase.mjs +12 -8
- package/tests/claim_recall.mjs +4 -4
- package/tests/claim_resolve_worktree_lock.mjs +1 -1
- package/tests/claude_materialize.mjs +68 -68
- package/tests/clawback_confirmed_backlog.mjs +8 -5
- package/tests/cli_allowlist_permissions.mjs +11 -11
- package/tests/cli_dispatcher.mjs +2 -2
- package/tests/cli_err_code.mjs +6 -6
- package/tests/cli_exit_no_abort.mjs +7 -7
- package/tests/cli_lib_formatters.mjs +2 -2
- package/tests/cli_sessions.mjs +5 -5
- package/tests/cli_surface.mjs +15 -15
- package/tests/cli_token_reissue.mjs +2 -2
- package/tests/client_baseurl_guard.mjs +1 -1
- package/tests/client_bundle_route.mjs +35 -4
- package/tests/cloud_bongos_pack.mjs +1 -1
- package/tests/community_leaderboard_db.mjs +1 -1
- package/tests/conductor.mjs +18 -18
- package/tests/conflict_resolve.mjs +14 -16
- package/tests/consumer_layout_boot.mjs +12 -12
- package/tests/context_pack.mjs +6 -6
- package/tests/control_manifest.mjs +4 -4
- package/tests/copy_desk_page_reads.mjs +1 -1
- package/tests/copy_desk_page_release.mjs +192 -0
- package/tests/copy_inventory.mjs +2 -2
- package/tests/core_auto_upgrade.mjs +1 -1
- package/tests/core_move_notice.mjs +2 -2
- package/tests/core_origin_follow.mjs +7 -7
- package/tests/core_pin_sync.mjs +3 -3
- package/tests/core_upgrade_door.mjs +2 -2
- package/tests/core_upgrade_owner_door.mjs +34 -1
- package/tests/core_upgrade_runner.mjs +19 -19
- package/tests/credential_presence.mjs +2 -2
- package/tests/credit_grant.mjs +3 -3
- package/tests/credit_log_single_writer.mjs +5 -5
- package/tests/criterion_ref_status.mjs +2 -2
- package/tests/cross_discipline_priority_direction.mjs +3 -3
- package/tests/cutover_codemod.mjs +2 -4
- package/tests/db_backup_nightly.mjs +1 -1
- package/tests/db_backup_offsite.mjs +1 -1
- package/tests/db_ownership_handover.mjs +2 -2
- package/tests/dead_deps.mjs +3 -3
- package/tests/dependency_advisory.mjs +1 -1
- package/tests/deploy_audit_gate.mjs +4 -4
- package/tests/deploy_divergence_line.mjs +36 -16
- package/tests/deploy_page_projects.mjs +35 -4
- package/tests/dev_lib.mjs +2 -2
- package/tests/dev_windows.mjs +2 -2
- package/tests/diagram_facts_offset.mjs +1 -1
- package/tests/diagram_repo_slug.mjs +1 -1
- package/tests/diff_derived_signals.mjs +2 -2
- package/tests/dns_preflight.mjs +2 -2
- package/tests/do_api.mjs +3 -3
- package/tests/doc_cli_guard.mjs +28 -28
- package/tests/doc_comment_coverage.mjs +1 -1
- package/tests/doc_control_claims.mjs +11 -11
- package/tests/docs_entropy.mjs +2 -2
- package/tests/docs_openapi_route.mjs +8 -6
- package/tests/doctor_hooks.mjs +1 -1
- package/tests/edit_hints.mjs +3 -2
- package/tests/effective_visibility_predicate.mjs +1 -19
- package/tests/env_knobs_neutral_prefix.mjs +13 -13
- package/tests/exec_path_guard.mjs +4 -4
- package/tests/executed_closure.mjs +18 -12
- package/tests/file_map.mjs +1 -1
- package/tests/find_untested.mjs +13 -13
- package/tests/first_admin_bootstrap.mjs +1 -1
- package/tests/fitness.mjs +16 -16
- package/tests/fitness_gds_ratchet.mjs +2 -2
- package/tests/fitness_installed_core.mjs +3 -3
- package/tests/fitness_no_raw_nul.mjs +1 -1
- package/tests/fitness_ratchets.mjs +3 -3
- package/tests/fitness_scope_roster.mjs +2 -2
- package/tests/fitness_two_root.mjs +8 -8
- package/tests/fixtures/accessibility-replay.json +5 -5
- package/tests/fixtures/grade-replay/recorded-panel-grades.json +1 -1
- package/tests/fixtures/ideator-prefold/README.md +1 -1
- package/tests/fixtures/page-ledger.mjs +22 -0
- package/tests/fixtures/session-506-digest.json +5 -5
- package/tests/gate_approvals.mjs +50 -0
- package/tests/gate_review.mjs +8 -8
- package/tests/gating_review_retired.mjs +2 -2
- package/tests/gen_freshness.mjs +3 -3
- package/tests/git_guard.mjs +3 -3
- package/tests/git_merge_regen.mjs +41 -65
- package/tests/github_one_trip.mjs +4 -4
- package/tests/github_pick_up.mjs +2 -2
- package/tests/github_push_merge_driver.mjs +1 -1
- package/tests/go_live.mjs +3 -2
- package/tests/goal_category.mjs +1 -1
- package/tests/goal_cli.mjs +2 -2
- package/tests/goal_create_spec_entry.mjs +1 -1
- package/tests/goal_invite_consent.mjs +3 -1
- package/tests/goal_move.mjs +1 -1
- package/tests/goal_working_area.mjs +1 -1
- package/tests/government_agent_asks.mjs +7 -7
- package/tests/government_board_room_copy.mjs +6 -1
- package/tests/government_board_view.mjs +39 -0
- package/tests/government_board_vote_ui.mjs +39 -1
- package/tests/government_config.mjs +2 -2
- package/tests/government_live_proof_shape.mjs +1 -1
- package/tests/government_protected_surfaces.mjs +54 -53
- package/tests/government_require_permission.mjs +9 -1
- package/tests/government_vanilla_boot.mjs +1 -1
- package/tests/government_vocabulary.mjs +2 -2
- package/tests/government_walk.mjs +2 -2
- package/tests/grade_body_limit.mjs +6 -4
- package/tests/grade_correlation_audit.mjs +3 -3
- package/tests/grade_diff_hash.mjs +1 -1
- package/tests/grade_engine_replay.mjs +2 -2
- package/tests/grade_server_authoritative.mjs +1 -1
- package/tests/grade_unavailable_display.mjs +1 -1
- package/tests/grader.mjs +8 -24
- package/tests/grader_generated_provenance.mjs +14 -14
- package/tests/grader_no_artifact.mjs +1 -1
- package/tests/grader_prompt_fencing.mjs +1 -1
- package/tests/grader_quality_window_overflow.mjs +1 -1
- package/tests/grader_reader_lens.mjs +3 -3
- package/tests/grader_regrade_delta.mjs +1 -1
- package/tests/grader_unbacked_score.mjs +2 -2
- package/tests/hall_acclaim_vote_control.mjs +113 -0
- package/tests/hall_asset_cache.mjs +127 -0
- package/tests/hall_audit.mjs +63 -0
- package/tests/hall_board_world.mjs +20 -0
- package/tests/hall_city_card_words.mjs +61 -0
- package/tests/hall_client_request_shape.mjs +5 -1
- package/tests/hall_home_ships_bounded.mjs +160 -0
- package/tests/hall_landing_boot.mjs +15 -2
- package/tests/hall_nav.mjs +33 -0
- package/tests/hall_onboarding_bongos_setup.mjs +1 -1
- package/tests/hall_oversight_world.mjs +44 -4
- package/tests/hall_palette.mjs +12 -9
- package/tests/hall_preview_security.mjs +1 -1
- package/tests/hall_profile_world.mjs +17 -0
- package/tests/hall_reading_world.mjs +16 -1
- package/tests/hall_roster_world.mjs +2 -1
- package/tests/hall_studio_world.mjs +4 -1
- package/tests/hall_work_history_id.mjs +39 -0
- package/tests/held_tweak_reporting.mjs +4 -4
- package/tests/helpers.mjs +3 -3
- package/tests/home_bounded_reads.mjs +1 -1
- package/tests/home_isolation_guard.mjs +1 -1
- package/tests/hook_core_resolve.mjs +7 -7
- package/tests/hook_user_agents.mjs +1 -1
- package/tests/hooks_drain.mjs +2 -2
- package/tests/host_topology_skips.mjs +1 -1
- package/tests/howto_guide.mjs +1 -1
- package/tests/howto_moments.mjs +3 -3
- package/tests/hub_account_page.mjs +1 -1
- package/tests/idea_capture_grades.mjs +2 -2
- package/tests/idea_develop_spark.mjs +1 -1
- package/tests/idea_filed_via.mjs +2 -2
- package/tests/idea_ideate_full.mjs +1 -1
- package/tests/idea_spark_mark.mjs +1 -1
- package/tests/idea_spark_queue.mjs +1 -1
- package/tests/idea_triage.mjs +1 -1
- package/tests/idea_triage_grade.mjs +3 -3
- package/tests/idea_vote_permission.mjs +113 -0
- package/tests/idea_votes_fold_db.mjs +123 -0
- package/tests/infra_exec_paths.mjs +12 -12
- package/tests/init.mjs +2 -2
- package/tests/instance_db_migrated_on_code_move.mjs +5 -5
- package/tests/instance_feedback.mjs +9 -9
- package/tests/instance_mismatch_guard.mjs +2 -2
- package/tests/integration_parked_ratchet.mjs +24 -2
- package/tests/intent_retry.mjs +1 -1
- package/tests/interaction_posture.mjs +3 -3
- package/tests/invite_expiry_db.mjs +1 -1
- package/tests/joinability_invite_only.mjs +1 -1
- package/tests/karma_vote_lists.mjs +270 -0
- package/tests/key-card.mjs +2 -2
- package/tests/key-status.mjs +2 -2
- package/tests/knip_ratchet_ambient.mjs +2 -2
- package/tests/known_failing_ratchet.mjs +1 -1
- package/tests/land_watch.mjs +2 -2
- package/tests/landing_legal_pages.mjs +1 -1
- package/tests/landing_page.mjs +2 -2
- package/tests/leaderboard_roles.mjs +4 -1
- package/tests/leak_scan_allowlist.mjs +8 -8
- package/tests/leak_scan_fail_closed.mjs +1 -1
- package/tests/lib_sh_resolution.mjs +9 -9
- package/tests/lifecycle-card.mjs +7 -7
- package/tests/linkify_check.mjs +2 -2
- package/tests/linkify_refs.mjs +1 -1
- package/tests/llm-cache-route.mjs +1 -1
- package/tests/local_preview.mjs +2 -2
- package/tests/main_audit.mjs +3 -3
- package/tests/main_audit_attestation.mjs +1 -1
- package/tests/main_audit_db_roster.mjs +2 -2
- package/tests/main_worktree_busy_reason.mjs +3 -3
- package/tests/markdown_line_endings.mjs +2 -2
- package/tests/me_streak_leaderboard_queries.mjs +193 -0
- package/tests/membership_kind_lockstep.mjs +1 -1
- package/tests/memory_isolation.mjs +16 -8
- package/tests/memory_map.mjs +2 -2
- package/tests/memory_pull.mjs +33 -25
- package/tests/merge_driver_register.mjs +3 -3
- package/tests/migration_allocation.mjs +2 -2
- package/tests/migration_namespace.mjs +1 -1
- package/tests/migrations_forward_safe.mjs +1 -1
- package/tests/mingle.mjs +1 -1
- package/tests/mirror_lineage_fulltree.mjs +3 -3
- package/tests/mirror_lineage_proof.mjs +2 -2
- package/tests/mirror_redact.mjs +4 -4
- package/tests/missing_dep_classify.mjs +3 -3
- package/tests/module-scope-map.mjs +22 -22
- package/tests/module_api_lazy.mjs +1 -1
- package/tests/module_assess_docs.mjs +2 -2
- package/tests/module_assess_installs.mjs +3 -3
- package/tests/module_assess_price_parity.mjs +5 -5
- package/tests/module_assess_score.mjs +5 -5
- package/tests/module_assess_security.mjs +4 -4
- package/tests/module_assess_tests.mjs +3 -3
- package/tests/module_assessments_migration.mjs +1 -1
- package/tests/module_catalog.mjs +2 -2
- package/tests/module_cli.mjs +3 -3
- package/tests/module_entitlements.mjs +1 -1
- package/tests/module_error_counts.mjs +1 -1
- package/tests/module_install.mjs +4 -4
- package/tests/module_loader.mjs +3 -1
- package/tests/module_owned_tests.mjs +1 -1
- package/tests/module_release_channels.mjs +1 -1
- package/tests/module_store_howto.mjs +3 -3
- package/tests/module_store_listing.mjs +139 -2
- package/tests/module_store_publish.mjs +4 -4
- package/tests/module_store_publish_route.mjs +1 -1
- package/tests/module_store_reassess.mjs +1 -1
- package/tests/module_store_registry_migration.mjs +1 -1
- package/tests/module_test_runner.mjs +3 -3
- package/tests/module_update.mjs +4 -4
- package/tests/module_upgrade_updates.mjs +1 -1
- package/tests/move_escalation.mjs +2 -2
- package/tests/nav_permission_atoms.mjs +3 -2
- package/tests/needs_rebase.mjs +7 -3
- package/tests/newcomer_floor.mjs +1 -1
- package/tests/next_number.mjs +1 -1
- package/tests/no_artifact_escalation.mjs +3 -3
- package/tests/npm_release_where.mjs +1 -1
- package/tests/oauth_secret.mjs +2 -2
- package/tests/onboard.mjs +6 -6
- package/tests/onboarding_gate.mjs +2 -2
- package/tests/opt_in_skill_modules.mjs +3 -3
- package/tests/own_scope_guard.mjs +1 -1
- package/tests/own_session_revoke.mjs +4 -1
- package/tests/package_core.mjs +10 -11
- package/tests/page_inventory.mjs +5 -5
- package/tests/page_reader.mjs +7 -7
- package/tests/page_tweak_hold.mjs +6 -6
- package/tests/parallel-load.mjs +1 -1
- package/tests/paste_token_api_base.mjs +1 -1
- package/tests/paste_token_session_store.mjs +2 -2
- package/tests/pending_invite_purge_db.mjs +1 -1
- package/tests/permission_path.mjs +1 -1
- package/tests/pin_replay.mjs +1 -1
- package/tests/pin_write_key.mjs +7 -7
- package/tests/plain_cards.mjs +15 -15
- package/tests/pr_assign.mjs +1 -1
- package/tests/pre_push_hook.mjs +3 -3
- package/tests/preflight_checks.mjs +2 -2
- package/tests/prelaunch_gate.mjs +1 -1
- package/tests/privacy_matrix.mjs +1 -1
- package/tests/probe_cache.mjs +6 -6
- package/tests/profile_connections_ui.mjs +4 -3
- package/tests/profile_fields.mjs +11 -1
- package/tests/profile_privacy_owner_view.mjs +1 -1
- package/tests/profile_role_headline.mjs +10 -9
- package/tests/project_admin_console_model.mjs +1 -1
- package/tests/projects_hub.mjs +1 -1
- package/tests/projects_hub_cloud_hop.mjs +1 -1
- package/tests/promote_goal_id.mjs +6 -6
- package/tests/promotion_sweep.mjs +1 -1
- package/tests/provision.mjs +24 -24
- package/tests/provision_account_identity.mjs +2 -2
- package/tests/provision_byo_host.mjs +1 -1
- package/tests/provision_caddy_wiring.mjs +2 -2
- package/tests/provision_disconnect.mjs +2 -2
- package/tests/provision_dns_first.mjs +1 -1
- package/tests/provision_render.mjs +9 -9
- package/tests/provision_repo_private.mjs +3 -3
- package/tests/provision_resource_caps.mjs +5 -5
- package/tests/provision_restart.mjs +3 -3
- package/tests/provision_settings_apply.mjs +7 -7
- package/tests/provision_teardown_address.mjs +2 -2
- package/tests/provisioning_capacity.mjs +5 -5
- package/tests/provisioning_credential_preflight.mjs +1 -1
- package/tests/provisioning_disconnect.mjs +1 -1
- package/tests/provisioning_error_note_scope.mjs +4 -4
- package/tests/provisioning_paid_shape_gate.mjs +2 -2
- package/tests/provisioning_planet_physics.mjs +16 -0
- package/tests/provisioning_runner_drift_notice.mjs +2 -2
- package/tests/provisioning_settings_env.mjs +1 -1
- package/tests/pruned_lockfile_integrity.mjs +1 -1
- package/tests/public_mirror_export.mjs +1 -1
- package/tests/publish_integration_gate.mjs +2 -2
- package/tests/publish_manifest.mjs +6 -6
- package/tests/publish_watch.mjs +1 -1
- package/tests/push_path_brief.mjs +2 -2
- package/tests/raise.mjs +248 -0
- package/tests/rank_roles_audit.mjs +1 -1
- package/tests/rank_tier_single_source.mjs +2 -2
- package/tests/rate_limit_public.mjs +1 -1
- package/tests/read_default_meter.mjs +2 -2
- package/tests/read_session_export.mjs +1 -1
- package/tests/rebase_gate_set_aside.mjs +1 -1
- package/tests/recall_cli.mjs +1 -1
- package/tests/recall_corpus_health.mjs +3 -2
- package/tests/recall_hints.mjs +1 -1
- package/tests/recruiter_sliver_boundary.mjs +1 -1
- package/tests/redteam_patrol.mjs +2 -2
- package/tests/regrade_actual_minutes.mjs +2 -2
- package/tests/regrade_eligibility.mjs +2 -2
- package/tests/release_core.mjs +2 -2
- package/tests/release_notes.mjs +4 -4
- package/tests/rename_history_restraint.mjs +3 -3
- package/tests/rename_ledger_prose.mjs +6 -6
- package/tests/render_api.mjs +1 -1
- package/tests/render_check.mjs +4 -4
- package/tests/render_deploy.mjs +1 -1
- package/tests/repo_info_binding.mjs +1 -1
- package/tests/repo_map.mjs +5 -5
- package/tests/reward_mode_cost_plus_only.mjs +7 -3
- package/tests/reward_mode_surfacing.mjs +1 -1
- package/tests/role_responsibilities.mjs +1 -1
- package/tests/route_permission_check.mjs +1 -1
- package/tests/route_shadow_guard.mjs +1 -1
- package/tests/route_validation.mjs +1 -1
- package/tests/routine_capture_kind.mjs +24 -13
- package/tests/routine_schedule.mjs +51 -9
- package/tests/run_routine.mjs +5 -5
- package/tests/run_routine_two_root.mjs +5 -5
- package/tests/runner_drift.mjs +17 -17
- package/tests/sandbox_stage.mjs +5 -5
- package/tests/scope_map_guard.mjs +7 -7
- package/tests/scouting_owner_access_and_reach.mjs +1 -1
- package/tests/scripts_gds_forwarders.mjs +224 -0
- package/tests/scrubber_corpus.mjs +2 -2
- package/tests/seam_wiring_guard.mjs +1 -1
- package/tests/search_ingest.mjs +2 -2
- package/tests/search_ingest_db.mjs +1 -1
- package/tests/search_ingest_nul.mjs +6 -6
- package/tests/seed_verify_criteria.mjs +3 -3
- package/tests/sequence.mjs +3 -3
- package/tests/served_paths_shipped.mjs +3 -3
- package/tests/session_506_regression.mjs +1 -1
- package/tests/session_accessibility.mjs +1 -1
- package/tests/session_caps.mjs +1 -1
- package/tests/session_cost.mjs +1 -1
- package/tests/session_digest.mjs +2 -2
- package/tests/session_eval.mjs +6 -6
- package/tests/session_index.mjs +1 -1
- package/tests/session_records.mjs +4 -4
- package/tests/session_rename_fallback.mjs +2 -2
- package/tests/session_reward_on_land.mjs +7 -149
- package/tests/session_reward_on_land_db.mjs +191 -0
- package/tests/session_reward_reconcile.mjs +6 -88
- package/tests/session_reward_reconcile_db.mjs +132 -0
- package/tests/session_transcript.mjs +1 -1
- package/tests/sessions_kit_pager.mjs +2 -1
- package/tests/setup_device_flow_fallback.mjs +2 -2
- package/tests/setup_smoke.mjs +12 -5
- package/tests/setup_status_facts.mjs +54 -12
- package/tests/ship_autolinkify.mjs +2 -2
- package/tests/ship_automerge_injection.mjs +1 -1
- package/tests/ship_base_flag.mjs +1 -1
- package/tests/ship_broadcast_routing.mjs +1 -1
- package/tests/ship_broadcast_server.mjs +2 -2
- package/tests/ship_builder_model.mjs +1 -1
- package/tests/ship_cannot_lie.mjs +9 -9
- package/tests/ship_card.mjs +2 -2
- package/tests/ship_ci_deploy.mjs +7 -7
- package/tests/ship_error_shape.mjs +1 -1
- package/tests/ship_land_ci_not_started.mjs +3 -3
- package/tests/ship_land_conflict.mjs +3 -3
- package/tests/ship_land_proof.mjs +3 -3
- package/tests/ship_land_red_pr.mjs +5 -5
- package/tests/ship_merge_gate.mjs +14 -14
- package/tests/ship_mode.mjs +1 -1
- package/tests/ship_mode_first_ship.mjs +4 -4
- package/tests/ship_mode_hands_off.mjs +8 -8
- package/tests/ship_post_land_verify.mjs +1 -1
- package/tests/ship_preflight.mjs +19 -19
- package/tests/ship_premerge.mjs +1 -1
- package/tests/ship_publish_error.mjs +2 -2
- package/tests/ship_push_diagnosis.mjs +1 -1
- package/tests/ship_regen_copy_inventory.mjs +3 -3
- package/tests/ship_resume.mjs +4 -4
- package/tests/ship_smoke_gate.mjs +1 -1
- package/tests/ship_upload_skip.mjs +1 -1
- package/tests/ship_upstream_deletion.mjs +1 -1
- package/tests/ship_vendored_instance.mjs +8 -8
- package/tests/ship_visual_regrade.mjs +3 -3
- package/tests/ship_zero_commit.mjs +1 -1
- package/tests/skill_docs_unavailable_regrade.mjs +3 -3
- package/tests/skill_friction_kind.mjs +1 -1
- package/tests/skill_grade_recover.mjs +1 -1
- package/tests/skill_grader_health.mjs +1 -1
- package/tests/skill_lint.mjs +1 -1
- package/tests/skill_menu_ruling.mjs +1 -1
- package/tests/skill_preflight.mjs +7 -7
- package/tests/skip_is_not_pass.mjs +22 -1
- package/tests/smoke_dependencies_witness.mjs +2 -2
- package/tests/smoke_preflight.mjs +1 -1
- package/tests/smoke_target.mjs +2 -2
- package/tests/smoke_write_contract.mjs +2 -2
- package/tests/sound_player.mjs +8 -8
- package/tests/source_text_test_ratchet.mjs +97 -0
- package/tests/speciality_corpus_scope.mjs +1 -1
- package/tests/speciality_session_skills.mjs +1 -1
- package/tests/sso_checkin_legacy_field_gone.mjs +4 -2
- package/tests/stale_timer.mjs +3 -3
- package/tests/stale_worktrees.mjs +1 -1
- package/tests/start_env_guard.mjs +1 -1
- package/tests/start_goal_first.mjs +3 -3
- package/tests/start_inbox_count.mjs +1 -1
- package/tests/start_rebase_warning.mjs +1 -1
- package/tests/status_default_version.mjs +3 -3
- package/tests/status_mirror_sync.mjs +1 -1
- package/tests/status_page_no_dead_uptime.mjs +80 -0
- package/tests/stop_refcheck.mjs +1 -1
- package/tests/strand_watch.mjs +1 -1
- package/tests/stranded_rows.mjs +1 -1
- package/tests/stuck_detector.mjs +14 -14
- package/tests/sweep_app_account.mjs +3 -3
- package/tests/task_cli.mjs +2 -2
- package/tests/task_detail_ui.mjs +11 -1
- package/tests/task_discipline_required.mjs +2 -2
- package/tests/task_list_paging.mjs +1 -1
- package/tests/task_visual_slots.mjs +2 -2
- package/tests/terms_acceptance.mjs +1 -1
- package/tests/terms_grandfather_db.mjs +1 -1
- package/tests/test_path_guard.mjs +1 -1
- package/tests/triage_development.mjs +1 -1
- package/tests/tweak_batch_apply.mjs +2 -2
- package/tests/tweak_land_heal.mjs +3 -3
- package/tests/tweak_unattended.mjs +3 -3
- package/tests/ui_design_skills.mjs +2 -2
- package/tests/unit_report_status.mjs +2 -2
- package/tests/unit_runner_serial.mjs +2 -2
- package/tests/unit_runner_teardown_abort.mjs +1 -1
- package/tests/update_channel.mjs +2 -2
- package/tests/update_channel_db.mjs +4 -4
- package/tests/update_subscription_engine.mjs +26 -26
- package/tests/update_sweep_home.mjs +14 -14
- package/tests/upgrade.mjs +11 -11
- package/tests/upgrade_artist_gate.mjs +4 -4
- package/tests/upgrade_commit_identity.mjs +2 -2
- package/tests/upgrade_migrate.mjs +7 -7
- package/tests/upgrade_operator.mjs +2 -2
- package/tests/upgrade_outcome.mjs +2 -2
- package/tests/upgrade_persist_pin.mjs +5 -5
- package/tests/upkeep_home.mjs +1 -1
- package/tests/version_close.mjs +2 -2
- package/tests/version_close_cli.mjs +2 -2
- package/tests/version_close_route.mjs +1 -1
- package/tests/version_literals.mjs +23 -23
- package/tests/visual_review.mjs +5 -5
- package/tests/wedge_remedy.mjs +5 -5
- package/tests/welcome_boot.mjs +116 -0
- package/tests/welcome_boot_browser.mjs +271 -0
- package/tests/wizard_born_first_board.mjs +3 -3
- package/tests/wizard_demo.mjs +1 -1
- package/tests/wizard_one_page.mjs +4 -3
- package/tests/wizard_physics.mjs +3 -1
- package/tests/wizard_physics_more.mjs +42 -3
- package/tests/work_title_wrap.mjs +1 -1
- package/tests/workflow_exec_paths.mjs +6 -6
- package/tests/worktree_claim_guard.mjs +1 -1
- package/tests/worktree_helper.mjs +2 -2
- package/tests/write_validation_gaps.mjs +3 -3
- package/scripts/gds/api.sh +0 -6
- package/scripts/gds/artifact-staleness.js +0 -267
- package/scripts/gds/audit-exports.js +0 -128
- package/scripts/gds/classify-discipline.js +0 -153
- package/scripts/gds/codemod-rename-src-gds.js +0 -145
- package/scripts/gds/coreB-carve-proof.sh +0 -725
- package/scripts/gds/goal-names.js +0 -102
- package/scripts/gds/rename-goals.js +0 -109
- package/scripts/gds/resolve-skill-model.js +0 -57
- package/scripts/gds/security-baseline-check.sh +0 -180
- package/scripts/gds/seed-adopt-tasks.js +0 -75
- package/scripts/gds/seed-api-contract-goal-tasks.js +0 -141
- package/scripts/gds/seed-board-room-tasks.js +0 -196
- package/scripts/gds/seed-bongos-app-tasks.js +0 -294
- package/scripts/gds/seed-bongos-coreB-tranche1-tasks.js +0 -81
- package/scripts/gds/seed-bongos-coreB-tranche2-tasks.js +0 -100
- package/scripts/gds/seed-bongos-goal-hierarchy-tasks.js +0 -307
- package/scripts/gds/seed-bongos-module-system-tasks.js +0 -346
- package/scripts/gds/seed-bongos-tasks.js +0 -214
- package/scripts/gds/seed-bongos-v1-seo-tasks.js +0 -104
- package/scripts/gds/seed-bv1-community-tasks.js +0 -131
- package/scripts/gds/seed-bv1-privacy-invites-tasks.js +0 -133
- package/scripts/gds/seed-bv1-profile-page-tasks.js +0 -161
- package/scripts/gds/seed-bv1-r01-delta-tasks.js +0 -154
- package/scripts/gds/seed-bv2-tweak-mode-tasks.js +0 -277
- package/scripts/gds/seed-gds-v4-tasks.js +0 -624
- package/scripts/gds/seed-governance-tasks.js +0 -340
- package/scripts/gds/seed-medusa-tasks.js +0 -440
- package/scripts/gds/seed-module-upstreaming.js +0 -219
- package/scripts/gds/seed-productization-tasks.js +0 -235
- package/scripts/gds/seed-project-admin-console-tasks.js +0 -88
- package/scripts/gds/seed-provisioning-tasks.js +0 -83
- package/scripts/gds/seed-strict-versioning-tasks.js +0 -275
- package/scripts/gds/seed-v2-world-tasks.js +0 -283
- package/scripts/gds/spike-task-map.js +0 -899
- package/scripts/migrate_cost_ledger.sh +0 -178
- package/scripts/status-probe.mjs +0 -213
- package/src/bongos/uptime-poller.js +0 -93
- package/tests/artifact_staleness.mjs +0 -207
- package/tests/goal_names.mjs +0 -120
- package/tests/government_fold_bench.mjs +0 -50
- package/tests/spike_task_map.mjs +0 -422
- package/tests/status-probe.mjs +0 -89
- /package/{scripts/gds → modules/raise}/CLAUDE.md +0 -0
- /package/scripts/{gds → bongos}/cloudbongos-token-isolation.conf +0 -0
- /package/scripts/{gds → bongos}/discipline-modes.json +0 -0
- /package/scripts/{gds → bongos}/retired-core-skills.json +0 -0
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
//
|
|
3
3
|
// THE DEFECT. resolveBranchConflicts and refreshStaleGenerated clone a builder's branch
|
|
4
4
|
// and run code out of it with the live server's environment. The audit prescribed
|
|
5
|
-
// restoring scripts/
|
|
5
|
+
// restoring scripts/bongos/ and .gitattributes from origin/main after the merge and before
|
|
6
6
|
// runGenerators. Building it that way would have left the hole open TWICE, and both of
|
|
7
7
|
// those are what these tests pin:
|
|
8
8
|
//
|
|
9
9
|
// TOO NARROW — the generators require ../../src/instance-config, and gen-api-docs also
|
|
10
10
|
// requires src/bongos/route-rank-check, api-prefix and routes/_helpers. A restore
|
|
11
|
-
// scoped to scripts/
|
|
11
|
+
// scoped to scripts/bongos/ leaves those builder-controlled and still executed.
|
|
12
12
|
// TOO LATE — `git merge` runs the otb-regen driver, whose registered command is
|
|
13
|
-
// `node scripts/
|
|
13
|
+
// `node scripts/bongos/git-merge-regen.js` by RELATIVE path with cwd at the clone root.
|
|
14
14
|
// That is the clone's copy, and it runs at the merge, before any post-merge step.
|
|
15
15
|
//
|
|
16
16
|
// So the assertions below care about two things: that the closure reaches past
|
|
@@ -89,14 +89,14 @@ test('every computed require inside the closure is one we have accounted for', (
|
|
|
89
89
|
// ever loads modules, this closure must grow to cover modules/**/routes/*.js.
|
|
90
90
|
const ACCOUNTED = new Map([
|
|
91
91
|
['src/module-loader/loader.js', 2], // routes/<key>.js + pollerPath, from loadModules()
|
|
92
|
-
['scripts/
|
|
92
|
+
['scripts/bongos/onboard.js', 3], // provision/oauth-secret/onboardPlan, inside the verb
|
|
93
93
|
// 6th added by task 1003869: leak-scan-allowlist.js. Unlike the others this one IS
|
|
94
94
|
// top-level, so it resolves whenever package-core is required — but it does not widen
|
|
95
95
|
// the closure: the module is pure data plus three predicates, does no I/O, dispatches
|
|
96
96
|
// nothing dynamically, and its single require (back to package-core, for the literal
|
|
97
97
|
// floor) is lazy and inside a function.
|
|
98
|
-
['scripts/
|
|
99
|
-
['scripts/
|
|
98
|
+
['scripts/bongos/package-core.js', 6], // publish-manifest/mirror-redact/secret-scrub/leak-scan-allowlist/…
|
|
99
|
+
['scripts/bongos/upgrade.js', 1], // a `node -e` child, not a require in this process
|
|
100
100
|
// Added by task 1003081: upgrade.js's pin push needs the owner-credential helpers,
|
|
101
101
|
// and requiring provision.js for them would have pulled provision-config/-repo/-units
|
|
102
102
|
// (7/1/1 unaccounted computed requires) into the closure. This LEAF is the whole of
|
|
@@ -104,8 +104,14 @@ test('every computed require inside the closure is one we have accounted for', (
|
|
|
104
104
|
// modules/provisioning + src/bongos/pool in lookupInstanceRow — each inside a function
|
|
105
105
|
// body reached only from the pin push, which no generator calls. Its top level requires
|
|
106
106
|
// node builtins only, so it drags nothing else in behind it.
|
|
107
|
-
['scripts/
|
|
108
|
-
['scripts/
|
|
107
|
+
['scripts/bongos/provision-repo-auth.js', 3],
|
|
108
|
+
['scripts/bongos/gen-api-docs.js', 1], // require(path.join(CORE_ROOT,'package.json')) — JSON
|
|
109
|
+
// Added by task 1004848: the forwarder runtime the old-path ENTRYPOINTS reach. Its one
|
|
110
|
+
// computed require is `require(path.join(__dirname, rel))`, where `rel` is the string
|
|
111
|
+
// literal the forwarder itself passes — so it can only ever load scripts/bongos/<same
|
|
112
|
+
// name>, and every such name on this path is already an ENTRYPOINT. Run as a merge
|
|
113
|
+
// driver it does not require at all: it re-execs that same file as a child process.
|
|
114
|
+
['scripts/bongos/forwarder.js', 1],
|
|
109
115
|
]);
|
|
110
116
|
|
|
111
117
|
// Strip line comments and single/double-quoted strings first: prose and message strings
|
|
@@ -157,10 +163,10 @@ test('ENTRYPOINTS covers every generator the resolver actually runs', () => {
|
|
|
157
163
|
});
|
|
158
164
|
|
|
159
165
|
test('both script-tree spellings are entrypoints while the compat shim exists', () => {
|
|
160
|
-
// Task 1003705 moves these to scripts/bongos/ and leaves scripts/
|
|
166
|
+
// Task 1003705 moves these to scripts/bongos/ and leaves scripts/bongos/ holding WORKING
|
|
161
167
|
// forwarders. The driver command is a relative path, so the old spelling still
|
|
162
168
|
// executes; a guard that knew only one name would stop seeing edits to live code.
|
|
163
|
-
for (const tree of ['scripts/
|
|
169
|
+
for (const tree of ['scripts/bongos', 'scripts/bongos']) {
|
|
164
170
|
assert.ok(ec.ENTRYPOINTS.some((p) => p === `${tree}/git-merge-regen.js`),
|
|
165
171
|
`${tree}/git-merge-regen.js must be an entrypoint while both trees can execute`);
|
|
166
172
|
}
|
|
@@ -206,7 +212,7 @@ function mkDeps(touched, over = {}) {
|
|
|
206
212
|
const exec = mkExec(touched);
|
|
207
213
|
return {
|
|
208
214
|
exec,
|
|
209
|
-
executedClosure: ['.gitattributes', 'src/instance-config.js', 'scripts/
|
|
215
|
+
executedClosure: ['.gitattributes', 'src/instance-config.js', 'scripts/bongos/git-merge-regen.js'],
|
|
210
216
|
runGenerators: async () => ({ code: 0 }),
|
|
211
217
|
githubPush: {
|
|
212
218
|
isConfigured: () => true,
|
|
@@ -245,7 +251,7 @@ for (const [label, fn, okKey] of [
|
|
|
245
251
|
test(`${label} refuses BEFORE running git merge`, async () => {
|
|
246
252
|
// The assertion that distinguishes this fix from the one the audit prescribed. A
|
|
247
253
|
// post-merge restore would already have run the branch's merge driver by now.
|
|
248
|
-
const deps = mkDeps(['scripts/
|
|
254
|
+
const deps = mkDeps(['scripts/bongos/git-merge-regen.js']);
|
|
249
255
|
const r = await fn(deps);
|
|
250
256
|
assert.equal(r.skipped, 'branch_modifies_executed_code');
|
|
251
257
|
assert.equal(ranMerge(deps._exec), false,
|
package/tests/file_map.mjs
CHANGED
|
@@ -11,7 +11,7 @@ import path from 'node:path';
|
|
|
11
11
|
|
|
12
12
|
const require = createRequire(import.meta.url);
|
|
13
13
|
const ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..');
|
|
14
|
-
const GEN = path.join(ROOT, 'scripts', '
|
|
14
|
+
const GEN = path.join(ROOT, 'scripts', 'bongos', 'gen-file-map.js');
|
|
15
15
|
const gen = require(GEN); // require.main-guarded → importing runs no main()
|
|
16
16
|
|
|
17
17
|
function run(args) {
|
package/tests/find_untested.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// tests/find_untested.mjs
|
|
2
2
|
//
|
|
3
|
-
// Unit test for scripts/
|
|
3
|
+
// Unit test for scripts/bongos/find-untested.js (task 1002458) — the finder the newcomer
|
|
4
4
|
// "add a unit test" chore runs instead of a hardcoded target list. The cases pin the two
|
|
5
5
|
// failures that made the naive scans unusable, measured before it was built:
|
|
6
6
|
// - BASENAME matching falsely marks a common-word module (settings.js) as tested because
|
|
@@ -15,7 +15,7 @@ import { strict as assert } from 'node:assert';
|
|
|
15
15
|
import { createRequire } from 'node:module';
|
|
16
16
|
|
|
17
17
|
const require = createRequire(import.meta.url);
|
|
18
|
-
const fu = require('../scripts/
|
|
18
|
+
const fu = require('../scripts/bongos/find-untested.js');
|
|
19
19
|
|
|
20
20
|
let passed = 0;
|
|
21
21
|
let failed = 0;
|
|
@@ -28,8 +28,8 @@ const MODS = new Set([
|
|
|
28
28
|
'modules/hall-ui/settings.js',
|
|
29
29
|
'modules/government/db.js',
|
|
30
30
|
'modules/government/board.js',
|
|
31
|
-
'scripts/
|
|
32
|
-
'scripts/
|
|
31
|
+
'scripts/bongos/memory-map.js',
|
|
32
|
+
'scripts/bongos/grade-smoke.js',
|
|
33
33
|
'modules/lifecycle/index.js',
|
|
34
34
|
]);
|
|
35
35
|
const hits = (src, file) => [...fu.extractPathRefs(src, file)].map((r) => fu.resolveRef(r, MODS)).filter(Boolean).sort();
|
|
@@ -49,9 +49,9 @@ test('path.join(ROOT, …) segments, and a const prefix, are evaluated (the memo
|
|
|
49
49
|
"const ROOT = path.resolve(__dirname, '..');",
|
|
50
50
|
"const GOV = path.join(ROOT, 'modules', 'government');",
|
|
51
51
|
"const db = require(path.join(GOV, 'db.js'));",
|
|
52
|
-
"const mm = require(path.join(ROOT, 'scripts', '
|
|
52
|
+
"const mm = require(path.join(ROOT, 'scripts', 'bongos', 'memory-map.js'));",
|
|
53
53
|
].join('\n');
|
|
54
|
-
assert.deepEqual(hits(src, 'tests/x.mjs'), ['modules/government/db.js', 'scripts/
|
|
54
|
+
assert.deepEqual(hits(src, 'tests/x.mjs'), ['modules/government/db.js', 'scripts/bongos/memory-map.js']);
|
|
55
55
|
});
|
|
56
56
|
|
|
57
57
|
test('an unknown leading identifier stands for the repo root; one in the middle does not', () => {
|
|
@@ -60,14 +60,14 @@ test('an unknown leading identifier stands for the repo root; one in the middle
|
|
|
60
60
|
});
|
|
61
61
|
|
|
62
62
|
test('a spawned script, new URL(…, import.meta.url) and a directory index all count', () => {
|
|
63
|
-
assert.deepEqual(hits("spawnSync(process.execPath, ['scripts/
|
|
64
|
-
assert.deepEqual(hits("await import(new URL('../scripts/
|
|
63
|
+
assert.deepEqual(hits("spawnSync(process.execPath, ['scripts/bongos/grade-smoke.js', '--dry'])", 'tests/x.mjs'), ['scripts/bongos/grade-smoke.js']);
|
|
64
|
+
assert.deepEqual(hits("await import(new URL('../scripts/bongos/memory-map.js', import.meta.url))", 'tests/x.mjs'), ['scripts/bongos/memory-map.js']);
|
|
65
65
|
assert.deepEqual(hits("require('../modules/lifecycle')", 'tests/x.mjs'), ['modules/lifecycle/index.js']);
|
|
66
66
|
});
|
|
67
67
|
|
|
68
68
|
test('template literals with interpolation and URLs are ignored, not mis-resolved', () => {
|
|
69
69
|
assert.deepEqual(hits('require(`../modules/${k}/settings.js`)', 'tests/x.mjs'), []);
|
|
70
|
-
assert.deepEqual(hits("fetch('https://example.com/scripts/
|
|
70
|
+
assert.deepEqual(hits("fetch('https://example.com/scripts/bongos/memory-map.js')", 'tests/x.mjs'), []);
|
|
71
71
|
});
|
|
72
72
|
|
|
73
73
|
test('extractRequires separates packages from local edges and ignores comment mentions', () => {
|
|
@@ -92,8 +92,8 @@ test('ownImpurity: pg, a db module, child_process and fetch are hard; fs is soft
|
|
|
92
92
|
test('isTestPath covers every test root and *.test.js siblings, and nothing else', () => {
|
|
93
93
|
assert.equal(fu.isTestPath('tests/a.mjs'), true);
|
|
94
94
|
assert.equal(fu.isTestPath('modules/lifecycle/tests/a.mjs'), true);
|
|
95
|
-
assert.equal(fu.isTestPath('scripts/
|
|
96
|
-
assert.equal(fu.isTestPath('scripts/
|
|
95
|
+
assert.equal(fu.isTestPath('scripts/bongos/newcomer-floor.test.js'), true);
|
|
96
|
+
assert.equal(fu.isTestPath('scripts/bongos/latest.js'), false);
|
|
97
97
|
});
|
|
98
98
|
|
|
99
99
|
test('hasExports / countExports read CommonJS and ESM', () => {
|
|
@@ -104,7 +104,7 @@ test('hasExports / countExports read CommonJS and ESM', () => {
|
|
|
104
104
|
});
|
|
105
105
|
|
|
106
106
|
test('normRel clamps a climb above the root instead of escaping it', () => {
|
|
107
|
-
assert.equal(fu.normRel('tests/../../../scripts/
|
|
107
|
+
assert.equal(fu.normRel('tests/../../../scripts/bongos/x.js'), 'scripts/bongos/x.js');
|
|
108
108
|
assert.equal(fu.normRel('./a//b/./c'), 'a/b/c');
|
|
109
109
|
assert.equal(fu.normRel('..'), '');
|
|
110
110
|
});
|
|
@@ -124,7 +124,7 @@ test('the live tree: tested modules the naive scans got wrong are NOT candidates
|
|
|
124
124
|
const by = new Map(rows.map((r) => [r.path, r]));
|
|
125
125
|
// A scan that finds nothing looks exactly like a clean tree, so assert it found a lot.
|
|
126
126
|
assert.ok(rows.length > 300, `expected hundreds of exported modules, scanned ${rows.length}`);
|
|
127
|
-
for (const p of ['scripts/
|
|
127
|
+
for (const p of ['scripts/bongos/memory-map.js', 'modules/grading/grader-workers/worker-verdict.js', 'scripts/bongos/find-untested.js']) {
|
|
128
128
|
assert.ok(by.has(p), `${p} should be scanned`);
|
|
129
129
|
assert.equal(by.get(p).tested, true, `${p} has a test naming it`);
|
|
130
130
|
}
|
|
@@ -19,7 +19,7 @@ test('firstAdminLogin: resolves from the branding pack when no env override', ()
|
|
|
19
19
|
// Asserts the RESOLUTION, not one instance's owner. This used to hardcode the OTB
|
|
20
20
|
// founder's login, which both broke on any other instance (the neutral pack sets
|
|
21
21
|
// firstAdmin: "") and put a founder identity in a test — the thing
|
|
22
|
-
// scripts/
|
|
22
|
+
// scripts/bongos/audit-authorship.sh exists to keep out (task 1002470).
|
|
23
23
|
clearEnv();
|
|
24
24
|
const configured = (branding().firstAdmin || '').trim() || null;
|
|
25
25
|
assert.equal(firstAdminLogin(), configured,
|
package/tests/fitness.mjs
CHANGED
|
@@ -10,7 +10,7 @@ import { onDiskModuleKeys } from './helpers.mjs';
|
|
|
10
10
|
|
|
11
11
|
const require = createRequire(import.meta.url);
|
|
12
12
|
const ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..');
|
|
13
|
-
const fitness = require(path.join(ROOT, 'scripts', '
|
|
13
|
+
const fitness = require(path.join(ROOT, 'scripts', 'bongos', 'fitness.js'));
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
test('all fitness checks pass with no hard failures (the CI gate)', () => {
|
|
@@ -89,7 +89,7 @@ test('a pointer at a missing rule file hard-fails', () => {
|
|
|
89
89
|
const dir = fs.mkdtempSync(path.join(os.tmpdir(), 'charter-ptr-'));
|
|
90
90
|
fs.writeFileSync(path.join(dir, 'CLAUDE.md'), `${CHARTER_HEADING}\ncharter: ${CHARTER_RULE_REL}\n`);
|
|
91
91
|
const out = require('node:child_process').execFileSync(process.execPath,
|
|
92
|
-
['-e', `const f=require(${JSON.stringify(path.join(ROOT, 'scripts/
|
|
92
|
+
['-e', `const f=require(${JSON.stringify(path.join(ROOT, 'scripts/bongos/fitness.js'))});process.stdout.write(JSON.stringify(f.checkClaudeMdBudget()))`],
|
|
93
93
|
{ env: { ...process.env, BONGOS_INSTANCE_ROOT: dir }, encoding: 'utf8' });
|
|
94
94
|
const r = JSON.parse(out);
|
|
95
95
|
assert.equal(r.hardFail, true, 'a pointer to nothing is worse than no pointer');
|
|
@@ -111,7 +111,7 @@ test('CLAUDE.md char budget is ratcheted and ordered (target < ceiling, live fil
|
|
|
111
111
|
// so an untested guard would undermine its own rationale. Hence both legs, the same
|
|
112
112
|
// pair every sibling guard here carries: the live tree is clean, AND the check
|
|
113
113
|
// actually catches the failure rather than being a no-op.
|
|
114
|
-
const rolePacks = require(path.join(ROOT, 'scripts', '
|
|
114
|
+
const rolePacks = require(path.join(ROOT, 'scripts', 'bongos', 'role-pack-guard.js'));
|
|
115
115
|
|
|
116
116
|
test('role packs: the live registry resolves and every pack is under budget', () => {
|
|
117
117
|
const r = rolePacks.checkRolePacks();
|
|
@@ -189,7 +189,7 @@ test('role pack guard actually CATCHES a missing pack, a pointerless entry, and
|
|
|
189
189
|
// shared source they cannot have: rename a pack and this fails instead of the hall
|
|
190
190
|
// shipping a button that opens nothing.
|
|
191
191
|
test('ship-card routing agrees with the role registry, entry for entry', () => {
|
|
192
|
-
const registry = JSON.parse(fs.readFileSync(path.join(ROOT, 'scripts', '
|
|
192
|
+
const registry = JSON.parse(fs.readFileSync(path.join(ROOT, 'scripts', 'bongos', 'discipline-modes.json'), 'utf8')).modes;
|
|
193
193
|
const card = require(path.join(ROOT, 'modules', 'lifecycle', 'ship-card.js'));
|
|
194
194
|
for (const [discipline, mode] of Object.entries(registry)) {
|
|
195
195
|
const cmd = card.buildCardModel({ stage: 'claimed', taskId: 1, discipline, brand: { currency: 'credits' } }).action.cmd;
|
|
@@ -201,7 +201,7 @@ test('ship-card routing agrees with the role registry, entry for entry', () => {
|
|
|
201
201
|
test('nested CLAUDE.md present for every high-traffic dir', () => {
|
|
202
202
|
const r = fitness.checkNestedDocsPresent();
|
|
203
203
|
assert.equal(r.hardFail, false, r.violations.join('\n'));
|
|
204
|
-
assert.deepEqual(fitness.HIGH_TRAFFIC, ['src/bongos', 'src/bongos/routes', 'scripts/
|
|
204
|
+
assert.deepEqual(fitness.HIGH_TRAFFIC, ['src/bongos', 'src/bongos/routes', 'scripts/bongos']);
|
|
205
205
|
});
|
|
206
206
|
|
|
207
207
|
test('no route bypasses server-side rank checks (ADR 0016)', () => {
|
|
@@ -361,7 +361,7 @@ test('the migration checks keep the BROAD definition — narrowing would lose co
|
|
|
361
361
|
// still be namespace/stem-checked, because schema_migrations is stem-keyed and
|
|
362
362
|
// a collision is SILENTLY skipped. So discoveredModuleKeys stays broad, and the
|
|
363
363
|
// migration checks must still be calling it.
|
|
364
|
-
const src = fs.readFileSync(path.join(ROOT, 'scripts/
|
|
364
|
+
const src = fs.readFileSync(path.join(ROOT, 'scripts/bongos/fitness.js'), 'utf8');
|
|
365
365
|
const additive = src.slice(src.indexOf('function checkModuleMigrationsAdditive'));
|
|
366
366
|
assert.match(
|
|
367
367
|
additive.slice(0, 600),
|
|
@@ -512,14 +512,14 @@ test('migration-namespacing actually CATCHES a new bare core migration (not a no
|
|
|
512
512
|
// The pure helper the check is built on: a bare core migration ABOVE the legacy cutoff
|
|
513
513
|
// must be flagged as needing the core_ prefix (else it could collide with an instance/
|
|
514
514
|
// module migration across repos). Proves the gate has teeth without polluting the tree.
|
|
515
|
-
const migNs = require(path.join(ROOT, 'scripts', '
|
|
515
|
+
const migNs = require(path.join(ROOT, 'scripts', 'bongos', 'migration-namespace.js'));
|
|
516
516
|
const v = migNs.filenameViolation('core', '188_new_bare.sql');
|
|
517
517
|
assert.ok(v && /core_-prefixed/.test(v), 'a new bare core migration must be flagged');
|
|
518
518
|
assert.equal(migNs.filenameViolation('core', 'core_188_new_bare.sql'), null, 'the namespaced form passes');
|
|
519
519
|
});
|
|
520
520
|
|
|
521
521
|
test('migration-namespacing actually CATCHES a cross-source stem collision (the silent-skip bug)', () => {
|
|
522
|
-
const migNs = require(path.join(ROOT, 'scripts', '
|
|
522
|
+
const migNs = require(path.join(ROOT, 'scripts', 'bongos', 'migration-namespace.js'));
|
|
523
523
|
const collisions = migNs.stemCollisions([
|
|
524
524
|
{ source: 'core', basename: '188_x.sql' },
|
|
525
525
|
{ source: 'instance', basename: '188_x.sql' },
|
|
@@ -534,7 +534,7 @@ test('migration-namespacing actually CATCHES a cross-source stem collision (the
|
|
|
534
534
|
// branches each landed an ADR numbered 0181 under different slugs, so git saw no path
|
|
535
535
|
// collision, README.md auto-merged into two rows, and every gate passed.
|
|
536
536
|
|
|
537
|
-
const adrNs = require(path.join(ROOT, 'scripts', '
|
|
537
|
+
const adrNs = require(path.join(ROOT, 'scripts', 'bongos', 'adr-namespace.js'));
|
|
538
538
|
|
|
539
539
|
test('ADR numbering: the live tree is clean (all 20 known duplicates grandfathered)', () => {
|
|
540
540
|
const r = fitness.checkAdrNumbering();
|
|
@@ -893,7 +893,7 @@ test('identity gate: comment markers inside strings and regex literals are inert
|
|
|
893
893
|
assert.equal(scanPromptIdentity('x.js', 'const x = a / b / c;\nconst leak = "amazonprimea";').length, 1);
|
|
894
894
|
});
|
|
895
895
|
|
|
896
|
-
test('identity gate scans the WHOLE scripts/ root, not just scripts/
|
|
896
|
+
test('identity gate scans the WHOLE scripts/ root, not just scripts/bongos (task 1002756)', () => {
|
|
897
897
|
const r = fitness.checkKernelPromptsNoHardcodedIdentity();
|
|
898
898
|
assert.match(r.note, /scripts\/\*\* \(whole root/, 'note must document the widened root');
|
|
899
899
|
assert.equal(r.hardFail, false, 'live tree must be clean under the widened scan:\n' + r.violations.join('\n'));
|
|
@@ -969,7 +969,7 @@ test('KERNEL_FILES is exported exactly ONCE and still resolves (task 1002795)',
|
|
|
969
969
|
// moment the two diverge. Task 1002795 removed the duplicate. Two grader
|
|
970
970
|
// rounds read that `- KERNEL_FILES,` line as "the export was removed", so pin
|
|
971
971
|
// the actual behaviour here rather than arguing it in a ship note.
|
|
972
|
-
const src = fs.readFileSync(path.join(ROOT, 'scripts/
|
|
972
|
+
const src = fs.readFileSync(path.join(ROOT, 'scripts/bongos/fitness.js'), 'utf8');
|
|
973
973
|
const decls = src.split('\n').filter((l) => l.trim() === 'KERNEL_FILES,');
|
|
974
974
|
assert.equal(decls.length, 1, 'exactly one export entry — no duplicate key');
|
|
975
975
|
assert.ok(Array.isArray(fitness.KERNEL_FILES), 'and it still resolves to an array');
|
|
@@ -978,12 +978,12 @@ test('KERNEL_FILES is exported exactly ONCE and still resolves (task 1002795)',
|
|
|
978
978
|
|
|
979
979
|
// ---- the dev box stays retired (task 1003899, ADR 0346) ---------------------
|
|
980
980
|
//
|
|
981
|
-
// scripts/
|
|
981
|
+
// scripts/bongos/dev-box-guard.js fails CI when a retired dev-box name reappears.
|
|
982
982
|
// Each rule is proven by PLANTING a violation through the injectable files/read
|
|
983
983
|
// seam, never by assuming the regex is right. The retired names are assembled at
|
|
984
984
|
// runtime (KEY = 'dev' + '-box', …) so this file never contains them literally and
|
|
985
985
|
// needs no exemption of its own.
|
|
986
|
-
const devBoxGuard = require(path.join(ROOT, 'scripts', '
|
|
986
|
+
const devBoxGuard = require(path.join(ROOT, 'scripts', 'bongos', 'dev-box-guard.js'));
|
|
987
987
|
const KEY = 'dev' + '-box';
|
|
988
988
|
const TABLE = 'builder' + '_boxes';
|
|
989
989
|
const COLUMN = 'box' + '_blocked_reason';
|
|
@@ -1001,7 +1001,7 @@ test('dev-box guard: the clean tree passes, and it scans the real tracked files'
|
|
|
1001
1001
|
});
|
|
1002
1002
|
|
|
1003
1003
|
test('dev-box guard: it is wired into the fitness CHECKS that CI runs', () => {
|
|
1004
|
-
const src = fs.readFileSync(path.join(ROOT, 'scripts', '
|
|
1004
|
+
const src = fs.readFileSync(path.join(ROOT, 'scripts', 'bongos', 'fitness.js'), 'utf8');
|
|
1005
1005
|
assert.match(src, /require\('\.\/dev-box-guard\.js'\)\.checkNoDevBox/);
|
|
1006
1006
|
const names = fitness.runAll().map((r) => r.name);
|
|
1007
1007
|
assert.ok(names.includes('the dev box stays retired (ADR 0346)'), 'runAll() includes the guard');
|
|
@@ -1021,12 +1021,12 @@ test('dev-box guard: each rule FAILS on a planted violation', () => {
|
|
|
1021
1021
|
const r = plant(rel, text);
|
|
1022
1022
|
assert.equal(r.hardFail, true, `${label}: a planted violation must fail the check`);
|
|
1023
1023
|
assert.match(r.violations[0], /ADR 0346/, `${label}: the failure names the ADR`);
|
|
1024
|
-
assert.match(r.note, /DEV_BOX_EXEMPT in scripts\/gds\/dev-box-guard\.js/, `${label}: and the one exemption list`);
|
|
1024
|
+
assert.match(r.note, /DEV_BOX_EXEMPT in scripts\/(?:gds|bongos)\/dev-box-guard\.js/, `${label}: and the one exemption list`);
|
|
1025
1025
|
}
|
|
1026
1026
|
});
|
|
1027
1027
|
|
|
1028
1028
|
test('dev-box guard: a retired PATH fails even with harmless contents', () => {
|
|
1029
|
-
for (const rel of [`scripts/
|
|
1029
|
+
for (const rel of [`scripts/bongos/${BOX}.js`, `infra/${BOX}-provision.sh`, `modules/${KEY}/module.json`, '.devcontainer/devcontainer.json']) {
|
|
1030
1030
|
const r = plant(rel, '{}');
|
|
1031
1031
|
assert.equal(r.hardFail, true, `${rel} must fail`);
|
|
1032
1032
|
assert.match(r.violations.join('\n'), /path: a retired dev-box location/);
|
|
@@ -19,8 +19,8 @@ import { fileURLToPath } from 'node:url';
|
|
|
19
19
|
|
|
20
20
|
const require = createRequire(import.meta.url);
|
|
21
21
|
const ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..');
|
|
22
|
-
const scan = require(path.join(ROOT, 'scripts', '
|
|
23
|
-
const ratchets = require(path.join(ROOT, 'scripts', '
|
|
22
|
+
const scan = require(path.join(ROOT, 'scripts', 'bongos', 'gds-literal-scan.js'));
|
|
23
|
+
const ratchets = require(path.join(ROOT, 'scripts', 'bongos', 'fitness-ratchets.js'));
|
|
24
24
|
|
|
25
25
|
const LITERAL = ['G', 'D', 'S'].join(''); // built, not written, so this file needs no exemption of its own
|
|
26
26
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
// own, just an ignored folder inside the project's repo. Every fitness check guards the
|
|
6
6
|
// core's own source and enumerates it with git, so each scan found nothing and either
|
|
7
7
|
// threw ("docs-entropy: scan defect — enumerated 0 tracked markdown files") or reported
|
|
8
|
-
// a scan defect — `bongos exec scripts/
|
|
8
|
+
// a scan defect — `bongos exec scripts/bongos/fitness.js` crashed on toast, on 1.21.20 and
|
|
9
9
|
// again on 1.21.115. The core repo's CI already ran this gate before publishing, so in an
|
|
10
10
|
// installed core it steps aside, and says so.
|
|
11
11
|
import assert from 'node:assert/strict';
|
|
@@ -19,7 +19,7 @@ import { fileURLToPath } from 'node:url';
|
|
|
19
19
|
|
|
20
20
|
const require = createRequire(import.meta.url);
|
|
21
21
|
const ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..');
|
|
22
|
-
const lib = require(path.join(ROOT, 'scripts', '
|
|
22
|
+
const lib = require(path.join(ROOT, 'scripts', 'bongos', 'fitness-lib.js'));
|
|
23
23
|
|
|
24
24
|
const git = (cwd, ...args) => execFileSync('git', args, { cwd, encoding: 'utf8', stdio: ['ignore', 'pipe', 'pipe'] });
|
|
25
25
|
|
|
@@ -111,7 +111,7 @@ test('end to end: fitness.js run from <project>/node_modules/@bongos/core exits
|
|
|
111
111
|
let out = '';
|
|
112
112
|
let status = 0;
|
|
113
113
|
try {
|
|
114
|
-
out = execFileSync(process.execPath, [path.join(core, 'scripts', '
|
|
114
|
+
out = execFileSync(process.execPath, [path.join(core, 'scripts', 'bongos', 'fitness.js')], {
|
|
115
115
|
cwd: project,
|
|
116
116
|
encoding: 'utf8',
|
|
117
117
|
stdio: ['ignore', 'pipe', 'pipe'],
|
|
@@ -29,7 +29,7 @@ import { fileURLToPath } from 'node:url';
|
|
|
29
29
|
|
|
30
30
|
const require = createRequire(import.meta.url);
|
|
31
31
|
const REPO_ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..');
|
|
32
|
-
const { scanForRawNul } = require(path.join(REPO_ROOT, 'scripts/
|
|
32
|
+
const { scanForRawNul } = require(path.join(REPO_ROOT, 'scripts/bongos/fitness.js'));
|
|
33
33
|
|
|
34
34
|
// Built at runtime so THIS file never carries the byte it is about — otherwise the
|
|
35
35
|
// check's own test would be its first violation.
|
|
@@ -75,7 +75,7 @@ const CONFIG_WRITE_ARGS = {
|
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
-
const rat = require(path.join(ROOT, 'scripts', '
|
|
78
|
+
const rat = require(path.join(ROOT, 'scripts', 'bongos', 'fitness-ratchets.js'));
|
|
79
79
|
|
|
80
80
|
test('ratchet compare: worse fails, equal passes, better nudges, unknown warns', () => {
|
|
81
81
|
const base = { a: 10, b: 5 };
|
|
@@ -138,11 +138,11 @@ test('console counting only sees server paths', () => {
|
|
|
138
138
|
assert.equal(rat.isServerPath('src/bongos/auth.js'), true);
|
|
139
139
|
assert.equal(rat.isServerPath('modules/lifecycle/db.js'), true);
|
|
140
140
|
assert.equal(rat.isServerPath('modules/hall-ui/public/builders.js'), false, 'browser surfaces excluded');
|
|
141
|
-
assert.equal(rat.isServerPath('scripts/
|
|
141
|
+
assert.equal(rat.isServerPath('scripts/bongos/ship.js'), false, 'CLI stdout is legitimate UX');
|
|
142
142
|
assert.equal(rat.isServerPath('modules/security/tests/floor.mjs'), false);
|
|
143
143
|
const n = rat.consoleCallCount(new Map([
|
|
144
144
|
['src/x.js', 'console.log(1); console.error(2);'],
|
|
145
|
-
['scripts/
|
|
145
|
+
['scripts/bongos/y.js', 'console.log(1);'],
|
|
146
146
|
]));
|
|
147
147
|
assert.equal(n, 2);
|
|
148
148
|
});
|
|
@@ -27,10 +27,10 @@ import { fileURLToPath } from 'node:url';
|
|
|
27
27
|
|
|
28
28
|
const require = createRequire(import.meta.url);
|
|
29
29
|
const REPO_ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..');
|
|
30
|
-
const { discoveredModuleKeys } = require(path.join(REPO_ROOT, 'scripts/
|
|
30
|
+
const { discoveredModuleKeys } = require(path.join(REPO_ROOT, 'scripts/bongos/fitness.js'));
|
|
31
31
|
// The check lives in its own file (the role-pack-guard.js precedent) so fitness.js stays
|
|
32
32
|
// under the size ratchet; module discovery stays in fitness.js, which owns it.
|
|
33
|
-
const { scanScopeRosterCoverage } = require(path.join(REPO_ROOT, 'scripts/
|
|
33
|
+
const { scanScopeRosterCoverage } = require(path.join(REPO_ROOT, 'scripts/bongos/scope-roster-guard.js'));
|
|
34
34
|
const scopeMap = require(path.join(REPO_ROOT, 'src/bongos/module-scope-map.js'));
|
|
35
35
|
|
|
36
36
|
const nothingExists = () => false;
|
|
@@ -44,7 +44,7 @@ t('checkClaudeMdBudget reads the CLAUDE.md at resolveInstanceRoot(), not a hardc
|
|
|
44
44
|
// the ceiling), which proves the read followed OTB_INSTANCE_ROOT.
|
|
45
45
|
writeFileSync(join(dir, 'CLAUDE.md'), '## Working with this file (content charter)\n' + 'x'.repeat(60000));
|
|
46
46
|
const r = runWith(dir, `
|
|
47
|
-
const f = require(${JSON.stringify(join(ROOT, 'scripts/
|
|
47
|
+
const f = require(${JSON.stringify(join(ROOT, 'scripts/bongos/fitness.js'))});
|
|
48
48
|
process.stdout.write(JSON.stringify(f.checkClaudeMdBudget()));
|
|
49
49
|
`);
|
|
50
50
|
assert.equal(r.hardFail, true, 'the fixture CLAUDE.md is over the char ceiling → must hard-fail');
|
|
@@ -53,7 +53,7 @@ t('checkClaudeMdBudget reads the CLAUDE.md at resolveInstanceRoot(), not a hardc
|
|
|
53
53
|
|
|
54
54
|
t('checkClaudeMdBudget still PASSES when the instance root is the real repo (byte-identical default)', () => {
|
|
55
55
|
const r = runWith(ROOT, `
|
|
56
|
-
const f = require(${JSON.stringify(join(ROOT, 'scripts/
|
|
56
|
+
const f = require(${JSON.stringify(join(ROOT, 'scripts/bongos/fitness.js'))});
|
|
57
57
|
process.stdout.write(JSON.stringify(f.checkClaudeMdBudget()));
|
|
58
58
|
`);
|
|
59
59
|
assert.equal(r.hardFail, false, 'the live CLAUDE.md is under the ceiling');
|
|
@@ -62,11 +62,11 @@ t('checkClaudeMdBudget still PASSES when the instance root is the real repo (byt
|
|
|
62
62
|
// ---- fitness: core checks stay on the CORE root regardless of instance root ------------------
|
|
63
63
|
t('checkNestedDocsPresent stays clean even with a divergent (empty) instance root', () => {
|
|
64
64
|
const dir = mkdtempSync(join(tmpdir(), 'w6-inst-'));
|
|
65
|
-
// HIGH_TRAFFIC nested docs (src/bongos, scripts/
|
|
65
|
+
// HIGH_TRAFFIC nested docs (src/bongos, scripts/bongos, …) are CORE — they must still resolve against
|
|
66
66
|
// the real core root even though the instance root is an empty temp dir. If they wrongly used the
|
|
67
67
|
// instance root, all three would be "missing" → hard fail.
|
|
68
68
|
const r = runWith(dir, `
|
|
69
|
-
const f = require(${JSON.stringify(join(ROOT, 'scripts/
|
|
69
|
+
const f = require(${JSON.stringify(join(ROOT, 'scripts/bongos/fitness.js'))});
|
|
70
70
|
process.stdout.write(JSON.stringify(f.checkNestedDocsPresent()));
|
|
71
71
|
`);
|
|
72
72
|
assert.equal(r.hardFail, false, 'core nested docs resolve against the core root, not the instance root');
|
|
@@ -79,7 +79,7 @@ t('gen-file-map lists the INSTANCE root .claude/skills, not the core repo', () =
|
|
|
79
79
|
mkdirSync(join(dir, '.claude', 'scheduled-tasks'), { recursive: true });
|
|
80
80
|
const model = runWith(dir, `
|
|
81
81
|
const path = require('node:path');
|
|
82
|
-
const g = require(${JSON.stringify(join(ROOT, 'scripts/
|
|
82
|
+
const g = require(${JSON.stringify(join(ROOT, 'scripts/bongos/gen-file-map.js'))});
|
|
83
83
|
process.stdout.write(JSON.stringify(g.buildModel()));
|
|
84
84
|
`);
|
|
85
85
|
const skills = model.find((s) => s.id === 'skills');
|
|
@@ -92,12 +92,12 @@ t('gen-file-map lists the INSTANCE root .claude/skills, not the core repo', () =
|
|
|
92
92
|
t('gen-repo-map maps CORE files (fitness.js) regardless of a divergent instance root', () => {
|
|
93
93
|
const dir = mkdtempSync(join(tmpdir(), 'w6-inst-')); // empty instance root
|
|
94
94
|
const model = runWith(dir, `
|
|
95
|
-
const g = require(${JSON.stringify(join(ROOT, 'scripts/
|
|
95
|
+
const g = require(${JSON.stringify(join(ROOT, 'scripts/bongos/gen-repo-map.js'))});
|
|
96
96
|
const m = g.buildModel();
|
|
97
|
-
process.stdout.write(JSON.stringify({ files: m.files.length, hasFitness: m.byFile.some((f) => f.rel === 'scripts/
|
|
97
|
+
process.stdout.write(JSON.stringify({ files: m.files.length, hasFitness: m.byFile.some((f) => f.rel === 'scripts/bongos/fitness.js') }));
|
|
98
98
|
`);
|
|
99
99
|
assert.ok(model.files > 50, `core scan should still find many files (got ${model.files})`);
|
|
100
|
-
assert.equal(model.hasFitness, true, 'the core file scripts/
|
|
100
|
+
assert.equal(model.hasFitness, true, 'the core file scripts/bongos/fitness.js is mapped from the core root');
|
|
101
101
|
});
|
|
102
102
|
|
|
103
103
|
console.log(`\nfitness_two_root: ${passed} passed, ${failed} failed`);
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"profile": { "technical_level": "engineer", "toolchain_familiarity": "comfortable" },
|
|
57
57
|
"replies": {
|
|
58
58
|
"what-to-work-on": [
|
|
59
|
-
"Four ready. Run `node scripts/
|
|
59
|
+
"Four ready. Run `node scripts/bongos/start.js`, then claim a task by id.",
|
|
60
60
|
"Second row is a refactor behind the module boundary. The claim is idempotent, so re-running it is a no-op."
|
|
61
61
|
],
|
|
62
62
|
"make-it-live": [
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"The control flow is enqueue, drain, health-gate, rollback. SIGTERM on a failed probe and the symlink goes back."
|
|
65
65
|
],
|
|
66
66
|
"art-key": [
|
|
67
|
-
"Art key is unset. Run `node scripts/
|
|
67
|
+
"Art key is unset. Run `node scripts/bongos/api.js` against the settings route, or set it in Settings - either path ends up in the same env file.",
|
|
68
68
|
"The upstream call is async and the error surfaces on stderr, not in the hall."
|
|
69
69
|
],
|
|
70
70
|
"session-expired": [
|
|
@@ -72,15 +72,15 @@
|
|
|
72
72
|
"The JWT is short-lived by design and the refresh is idempotent, so a double call is harmless."
|
|
73
73
|
],
|
|
74
74
|
"how-you-talk": [
|
|
75
|
-
"That is the interaction profile. Run `node scripts/
|
|
75
|
+
"That is the interaction profile. Run `node scripts/bongos/api.js PATCH /settings`, or set it in Settings.",
|
|
76
76
|
"It is injected per session by the Conductor hook and never memoized, so the change takes on the next turn."
|
|
77
77
|
],
|
|
78
78
|
"credits": [
|
|
79
|
-
"Cost-plus. Run `node scripts/
|
|
79
|
+
"Cost-plus. Run `node scripts/bongos/api.js GET /builders/me` for your balance, or read the leaderboard.",
|
|
80
80
|
"The write is an upsert keyed on the session, so a replayed ship cannot double-pay."
|
|
81
81
|
],
|
|
82
82
|
"stuck": [
|
|
83
|
-
"Four open blockers. Run `node scripts/
|
|
83
|
+
"Four open blockers. Run `node scripts/bongos/blocker-review.js` to walk them.",
|
|
84
84
|
"Resolving one will upsert the linked rows to ready inside the same transaction."
|
|
85
85
|
],
|
|
86
86
|
"why-slow": [
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
{"note":"Recorded panel grades for the differential replay (tests/grade_engine_replay.mjs). Generated by scripts/
|
|
1
|
+
{"note":"Recorded panel grades for the differential replay (tests/grade_engine_replay.mjs). Generated by scripts/bongos/grade-replay.js --live --write-fixture: only grades whose replay agreed with the stored row, one per panel shape. Issue summaries, their files and stderr are hashed.",
|
|
2
2
|
"grades":[
|
|
3
3
|
{"task_id":"1004274","graded_at":"2026-09-25T21:46:43.130Z","recorded":{"panel_outcome":"pass","pass_count":4,"concerns_count":0,"fail_count":0,"error_count":0,"worker_count":4,"panel_cost_usd":3.0816240000000006,"confidence":0.8,"rubric":{"functional_fidelity":9,"code_quality":8,"economy":8,"security_score":9,"efficiency_score":8}},"workers":[{"kind":"narc","verdict":"pass","error":null,"scores":{"functional_fidelity":9},"confidence":0.75,"model":"claude-sonnet-5","cost_usd":0.433313,"retried":false,"issues":[]},{"kind":"quality","verdict":"pass","error":null,"scores":{"economy":8,"code_quality":8},"confidence":0.85,"model":"claude-sonnet-5","cost_usd":1.7134175000000003,"retried":false,"issues":[{"severity":"nit","file":"h:127350d220","summary":"h:3305acb211"}]},{"kind":"hacker","verdict":"pass","error":null,"scores":{"security_score":9},"confidence":0.8,"model":"claude-sonnet-5","cost_usd":0.493828,"retried":false,"issues":[{"severity":"nit","file":"h:a00915aecd","summary":"h:bd972ce028"}]},{"kind":"efficiency","verdict":"pass","error":null,"scores":{"efficiency_score":8},"confidence":0.8,"model":"claude-sonnet-5","cost_usd":0.4410655,"retried":false,"issues":[{"severity":"minor","file":"h:127350d220","summary":"h:e96dc885ad"}]}]},
|
|
4
4
|
{"task_id":"1001436","graded_at":"2026-09-25T21:40:47.504Z","recorded":{"panel_outcome":"pass","pass_count":4,"concerns_count":0,"fail_count":0,"error_count":0,"worker_count":4,"panel_cost_usd":2.76109025,"confidence":0.825,"rubric":{"functional_fidelity":10,"code_quality":8,"economy":6,"security_score":9,"efficiency_score":8}},"workers":[{"kind":"narc","verdict":"pass","error":null,"scores":{"functional_fidelity":10},"confidence":0.9,"model":"claude-sonnet-5","cost_usd":0.43844425,"retried":true,"issues":[]},{"kind":"quality","verdict":"pass","error":null,"scores":{"economy":6,"code_quality":8},"confidence":0.8,"model":"claude-sonnet-5","cost_usd":1.46089875,"retried":false,"issues":[{"severity":"minor","file":"h:d3eb82782a","summary":"h:35c1a97948"},{"severity":"minor","file":"h:d3eb82782a","summary":"h:ec38cb5123"},{"severity":"nit","file":"h:9b13fff019","summary":"h:c7a56db356"}]},{"kind":"hacker","verdict":"pass","error":null,"scores":{"security_score":9},"confidence":0.85,"model":"claude-sonnet-5","cost_usd":0.40146299999999996,"retried":false,"issues":[]},{"kind":"efficiency","verdict":"pass","error":null,"scores":{"efficiency_score":8},"confidence":0.75,"model":"claude-sonnet-5","cost_usd":0.46028425,"retried":false,"issues":[{"severity":"minor","file":"h:d3eb82782a","summary":"h:0ba7cc5a2a"}]}]},
|
|
@@ -28,7 +28,7 @@ quietly.
|
|
|
28
28
|
|
|
29
29
|
## Why the `.baseline` extension
|
|
30
30
|
|
|
31
|
-
Not decoration, and not a way around a gate. `scripts/
|
|
31
|
+
Not decoration, and not a way around a gate. `scripts/bongos/fitness-ratchets.js` measures
|
|
32
32
|
cross-file duplication over `git ls-files '*.js'`, and a frozen copy of a live file is, by
|
|
33
33
|
construction, ~500 duplicate windows against it. That metric exists to find copy/paste a
|
|
34
34
|
maintainer should collapse; collapsing *this* copy would destroy the only thing it is for.
|
|
@@ -190,6 +190,28 @@ export function installPageLedger(api, { builders }) {
|
|
|
190
190
|
for (const c of hit) Object.assign(c, { released_at: new Date().toISOString(), outcome: 'partial' });
|
|
191
191
|
return { rows: hit.map((c) => ({ id: c.id })) };
|
|
192
192
|
}
|
|
193
|
+
if (/^SELECT id FROM claims WHERE task_id = $1 AND released_at IS NULL LIMIT 1$/.test(q)) {
|
|
194
|
+
const c = activeClaim(p[0]);
|
|
195
|
+
return { rows: c ? [{ id: c.id }] : [] };
|
|
196
|
+
}
|
|
197
|
+
if (/^SELECT id FROM claims WHERE task_id = \$1 AND released_at IS NULL LIMIT 1$/.test(q)) {
|
|
198
|
+
const c = activeClaim(p[0]);
|
|
199
|
+
return { rows: c ? [{ id: c.id }] : [] };
|
|
200
|
+
}
|
|
201
|
+
// The release of a round the reads cannot name (task 1004837,
|
|
202
|
+
// releaseStuckTweak): the abandon branch's claim release and status write.
|
|
203
|
+
if (/^UPDATE claims SET released_at = now\(\), outcome = 'abandoned' WHERE task_id = \$1 AND released_at IS NULL RETURNING id$/.test(q)) {
|
|
204
|
+
assert.ok(owner, 'the release runs inside the transaction');
|
|
205
|
+
const hit = db.claims.filter((x) => String(x.task_id) === String(p[0]) && x.released_at == null);
|
|
206
|
+
for (const c of hit) Object.assign(c, { released_at: new Date().toISOString(), outcome: 'abandoned' });
|
|
207
|
+
return { rows: hit.map((c) => ({ id: c.id })) };
|
|
208
|
+
}
|
|
209
|
+
if (/^UPDATE tasks SET status = 'abandoned', value_summary = \$2, updated_at = now\(\) WHERE id = \$1 RETURNING id, status, description, source_ref, updated_at$/.test(q)) {
|
|
210
|
+
assert.ok(owner, 'the abandon runs inside the transaction');
|
|
211
|
+
const t = db.tasks.find((x) => String(x.id) === String(p[0]));
|
|
212
|
+
Object.assign(t, { status: 'abandoned', value_summary: p[1] });
|
|
213
|
+
return { rows: [{ id: t.id, status: t.status, description: t.description, source_ref: t.source_ref, updated_at: null }] };
|
|
214
|
+
}
|
|
193
215
|
if (/^DELETE FROM task_grades WHERE task_id = \$1$/.test(q)) {
|
|
194
216
|
assert.ok(owner, 'the grade drop runs inside the send-back transaction');
|
|
195
217
|
db.grades.delete(String(p[0]));
|
|
@@ -14,19 +14,19 @@
|
|
|
14
14
|
"tool_error_count": 3
|
|
15
15
|
},
|
|
16
16
|
"detail": [
|
|
17
|
-
{ "i": 0, "role": "assistant", "tools": ["Bash"], "snippet": "node scripts/
|
|
18
|
-
{ "i": 1, "role": "assistant", "tools": ["Bash"], "snippet": "node scripts/
|
|
17
|
+
{ "i": 0, "role": "assistant", "tools": ["Bash"], "snippet": "node scripts/bongos/start.js — survey claimable", "in": 4000, "out": 150, "cache_read": 0, "cache_creation": 0 },
|
|
18
|
+
{ "i": 1, "role": "assistant", "tools": ["Bash"], "snippet": "node scripts/bongos/claim.js 506", "in": 3500, "out": 120, "cache_read": 0, "cache_creation": 0 },
|
|
19
19
|
{ "i": 2, "role": "user", "tool_results": 1 },
|
|
20
20
|
{ "i": 3, "role": "assistant", "tools": ["Read"], "snippet": "read the welcome copy string in public/", "in": 1000, "out": 80, "cache_read": 0, "cache_creation": 0 },
|
|
21
21
|
{ "i": 4, "role": "assistant", "tools": ["Edit"], "snippet": "change the one welcome-copy line", "in": 500, "out": 60, "cache_read": 0, "cache_creation": 0 },
|
|
22
22
|
{ "i": 5, "role": "user", "tool_results": 1 },
|
|
23
|
-
{ "i": 6, "role": "assistant", "tools": ["Bash"], "snippet": "node scripts/
|
|
23
|
+
{ "i": 6, "role": "assistant", "tools": ["Bash"], "snippet": "node scripts/bongos/ship.js 506 --kind chore", "in": 5000, "out": 200, "cache_read": 0, "cache_creation": 0 },
|
|
24
24
|
{ "i": 7, "role": "user", "tool_results": 1, "tool_errors": 1, "snippet": "error: bad_kind — kind must be one of: feature, bug, infra, refactor" },
|
|
25
|
-
{ "i": 8, "role": "assistant", "tools": ["Bash"], "snippet": "retry node scripts/
|
|
25
|
+
{ "i": 8, "role": "assistant", "tools": ["Bash"], "snippet": "retry node scripts/bongos/ship.js 506 --kind feature", "in": 3000, "out": 150, "cache_read": 0, "cache_creation": 0 },
|
|
26
26
|
{ "i": 9, "role": "user", "tool_results": 1, "tool_errors": 1, "snippet": "status_not_patchable: status is not editable via PATCH; use POST /tasks/:id/promote" },
|
|
27
27
|
{ "i": 10, "role": "assistant", "tools": ["Bash"], "snippet": "try PATCH status then the promote route", "in": 2800, "out": 130, "cache_read": 0, "cache_creation": 0 },
|
|
28
28
|
{ "i": 11, "role": "user", "tool_results": 1, "tool_errors": 1, "snippet": "smoke-write.sh: FAIL 4c assertion expected confirmed got completed — 1 failed" },
|
|
29
|
-
{ "i": 12, "role": "assistant", "tools": ["Bash"], "snippet": "node scripts/
|
|
29
|
+
{ "i": 12, "role": "assistant", "tools": ["Bash"], "snippet": "node scripts/bongos/ship.js 506 — subagent grader v4: panel of 4 workers", "in": 4500, "out": 300, "cache_read": 0, "cache_creation": 0 },
|
|
30
30
|
{ "i": 13, "role": "user", "tool_results": 1 },
|
|
31
31
|
{ "i": 14, "role": "assistant", "tools": ["Bash"], "snippet": "psql realign description; git merge --no-ff; push; deploy", "in": 3000, "out": 180, "cache_read": 0, "cache_creation": 0 },
|
|
32
32
|
{ "i": 15, "role": "user", "tool_results": 1 }
|