@bongos/core 1.21.174 → 1.21.176
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 +3565 -1515
- 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 +14 -14
- 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/docs/adr/0029-status-page-outage-resilience.md +6 -6
- 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 +3 -3
- package/docs/copy-inventory.md +1389 -1437
- package/docs/copy-registry.json +2160 -2634
- 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 +89 -88
- package/docs/handoff-template.md +4 -4
- package/docs/module-api-changelog.md +6 -2
- 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 +2 -2
- package/docs/onboarding/diagrams/assertions.json +2 -2
- 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 +25 -1
- package/docs/page-readings.json +4388 -4602
- 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 +10 -9
- 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/gauge.js +1 -1
- package/modules/autonomy/governor-docket.js +2 -2
- package/modules/autonomy/pollers/routine-timers.js +3 -3
- package/modules/autonomy/routes/autonomy.js +3 -3
- 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 +6 -4
- package/modules/hall-ui/public/blockers.js +39 -27
- package/modules/hall-ui/public/board-room.css +5 -12
- package/modules/hall-ui/public/board-room.html +6 -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-inbox.js +69 -86
- 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-ask.css +57 -0
- package/modules/hall-ui/public/hall-ask.js +50 -0
- 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 +15 -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 +33 -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 +178 -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/artifact-staleness.js +267 -0
- package/scripts/bongos/ask.js +231 -0
- package/scripts/bongos/audit-authorship.sh +329 -0
- package/scripts/bongos/audit-deps.js +189 -0
- package/scripts/bongos/audit-gate.js +121 -0
- package/scripts/bongos/audit-rank-roles.js +172 -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/classify-discipline.js +153 -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 +381 -0
- package/scripts/bongos/codemod-rename-src-gds.js +145 -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/coreB-carve-proof.sh +725 -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 +343 -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-names.js +102 -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 +336 -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-goals.js +109 -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 +283 -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-adopt-tasks.js +75 -0
- package/scripts/bongos/seed-api-contract-goal-tasks.js +141 -0
- package/scripts/bongos/seed-board-room-tasks.js +196 -0
- package/scripts/bongos/seed-bongos-app-tasks.js +294 -0
- package/scripts/bongos/seed-bongos-coreB-tranche1-tasks.js +81 -0
- package/scripts/bongos/seed-bongos-coreB-tranche2-tasks.js +100 -0
- package/scripts/bongos/seed-bongos-goal-hierarchy-tasks.js +307 -0
- package/scripts/bongos/seed-bongos-module-system-tasks.js +346 -0
- package/scripts/bongos/seed-bongos-tasks.js +214 -0
- package/scripts/bongos/seed-bongos-v1-idea-routing-tasks.js +152 -0
- package/scripts/bongos/seed-bongos-v1-seo-tasks.js +104 -0
- package/scripts/bongos/seed-bv1-community-tasks.js +131 -0
- package/scripts/bongos/seed-bv1-privacy-invites-tasks.js +133 -0
- package/scripts/bongos/seed-bv1-profile-page-tasks.js +161 -0
- package/scripts/bongos/seed-bv1-profiles-tasks.js +135 -0
- package/scripts/bongos/seed-bv1-r01-delta-tasks.js +154 -0
- package/scripts/bongos/seed-bv2-ideator-surface-tasks.js +390 -0
- package/scripts/bongos/seed-bv2-tweak-mode-tasks.js +277 -0
- package/scripts/bongos/seed-gds-v4-tasks.js +624 -0
- package/scripts/bongos/seed-governance-tasks.js +340 -0
- package/scripts/bongos/seed-medusa-tasks.js +440 -0
- package/scripts/bongos/seed-module-upstreaming.js +219 -0
- package/scripts/bongos/seed-productization-tasks.js +235 -0
- package/scripts/bongos/seed-project-admin-console-tasks.js +88 -0
- package/scripts/bongos/seed-provisioning-tasks.js +83 -0
- package/scripts/bongos/seed-staging.sh +117 -0
- package/scripts/bongos/seed-strict-versioning-tasks.js +275 -0
- package/scripts/bongos/seed-v2-world-tasks.js +283 -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 +292 -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/artifact-staleness.js +5 -265
- 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/classify-discipline.js +6 -152
- 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/codemod-rename-src-gds.js +6 -144
- 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/coreB-carve-proof.sh +7 -724
- 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-names.js +5 -100
- 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-goals.js +5 -107
- 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-adopt-tasks.js +6 -74
- package/scripts/gds/seed-api-contract-goal-tasks.js +6 -140
- package/scripts/gds/seed-board-room-tasks.js +6 -196
- package/scripts/gds/seed-bongos-app-tasks.js +6 -293
- package/scripts/gds/seed-bongos-coreB-tranche1-tasks.js +6 -80
- package/scripts/gds/seed-bongos-coreB-tranche2-tasks.js +6 -99
- package/scripts/gds/seed-bongos-goal-hierarchy-tasks.js +6 -306
- package/scripts/gds/seed-bongos-module-system-tasks.js +6 -345
- package/scripts/gds/seed-bongos-tasks.js +6 -213
- package/scripts/gds/seed-bongos-v1-idea-routing-tasks.js +6 -152
- package/scripts/gds/seed-bongos-v1-seo-tasks.js +6 -104
- package/scripts/gds/seed-bv1-community-tasks.js +6 -131
- package/scripts/gds/seed-bv1-privacy-invites-tasks.js +6 -133
- package/scripts/gds/seed-bv1-profile-page-tasks.js +6 -161
- package/scripts/gds/seed-bv1-profiles-tasks.js +6 -135
- package/scripts/gds/seed-bv1-r01-delta-tasks.js +6 -154
- package/scripts/gds/seed-bv2-ideator-surface-tasks.js +6 -390
- package/scripts/gds/seed-bv2-tweak-mode-tasks.js +6 -277
- package/scripts/gds/seed-gds-v4-tasks.js +6 -623
- package/scripts/gds/seed-governance-tasks.js +6 -339
- package/scripts/gds/seed-medusa-tasks.js +6 -439
- package/scripts/gds/seed-module-upstreaming.js +5 -217
- package/scripts/gds/seed-productization-tasks.js +6 -234
- package/scripts/gds/seed-project-admin-console-tasks.js +6 -88
- package/scripts/gds/seed-provisioning-tasks.js +6 -82
- package/scripts/gds/seed-staging.sh +7 -116
- package/scripts/gds/seed-strict-versioning-tasks.js +6 -274
- package/scripts/gds/seed-v2-world-tasks.js +6 -282
- 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/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/artifact_staleness.mjs +9 -9
- 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_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 +17 -5
- 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 +58 -58
- 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 +3 -3
- 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_names.mjs +2 -2
- 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_attention_cards.mjs +2 -0
- 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/newcomer_generator.mjs +48 -0
- 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/rot_inbox.mjs +10 -7
- 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 +6 -6
- package/tests/routine_schedule.mjs +9 -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/audit-exports.js +0 -128
- package/scripts/gds/resolve-skill-model.js +0 -57
- package/scripts/gds/security-baseline-check.sh +0 -180
- package/scripts/gds/spike-task-map.js +0 -899
- package/scripts/status-probe.mjs +0 -213
- package/src/bongos/uptime-poller.js +0 -93
- 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
package/docs/api/openapi.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"name": "AGPL-3.0-or-later",
|
|
8
8
|
"url": "https://www.gnu.org/licenses/agpl-3.0.html"
|
|
9
9
|
},
|
|
10
|
-
"description": "The Bongos API — the build-methodology backend\n(builders, tasks, claims, credits, grading, memory).\n\n**API version:** `v1` — served at `/api/bongos/v1`. The\nunversioned `/api/bongos` and legacy `/api/gds` are permanent aliases\npinned to this version; pin to `/api/bongos/v1` for a stable\ncontract (breaking changes ship a new `/vN`, ADR 0117). This is the\nCONTRACT version, distinct from the package build in `info.version`.\n\n**Base path:** `/api/bongos` (every path below is relative to it).\n\n**Auth:** a builder session — the `gds_session` cookie (web) or\n`Authorization: Bearer <token>` (CLI). **Ranks** gate writes and are\nenforced server-side per request, never cached (ADR 0016):\n`public` < `any-builder` < `metic+archon` < `archon`.\nEach operation carries its required rank in `x-rank`.\n\nGenerated from the live route files by `scripts/
|
|
10
|
+
"description": "The Bongos API — the build-methodology backend\n(builders, tasks, claims, credits, grading, memory).\n\n**API version:** `v1` — served at `/api/bongos/v1`. The\nunversioned `/api/bongos` and legacy `/api/gds` are permanent aliases\npinned to this version; pin to `/api/bongos/v1` for a stable\ncontract (breaking changes ship a new `/vN`, ADR 0117). This is the\nCONTRACT version, distinct from the package build in `info.version`.\n\n**Base path:** `/api/bongos` (every path below is relative to it).\n\n**Auth:** a builder session — the `gds_session` cookie (web) or\n`Authorization: Bearer <token>` (CLI). **Ranks** gate writes and are\nenforced server-side per request, never cached (ADR 0016):\n`public` < `any-builder` < `metic+archon` < `archon`.\nEach operation carries its required rank in `x-rank`.\n\nGenerated from the live route files by `scripts/bongos/gen-api-docs.js` —\ndo not hand-edit; it regenerates on every ship."
|
|
11
11
|
},
|
|
12
12
|
"x-api-version": "v1",
|
|
13
13
|
"servers": [
|
|
@@ -257,6 +257,10 @@
|
|
|
257
257
|
"name": "public",
|
|
258
258
|
"description": "Endpoints under `/api/bongos/public`."
|
|
259
259
|
},
|
|
260
|
+
{
|
|
261
|
+
"name": "raise",
|
|
262
|
+
"description": "Endpoints under `/api/bongos/raise`."
|
|
263
|
+
},
|
|
260
264
|
{
|
|
261
265
|
"name": "removal-proposals",
|
|
262
266
|
"description": "Endpoints under `/api/bongos/removal-proposals`."
|
|
@@ -3308,6 +3312,72 @@
|
|
|
3308
3312
|
]
|
|
3309
3313
|
}
|
|
3310
3314
|
},
|
|
3315
|
+
"/builders/{id}/tester": {
|
|
3316
|
+
"patch": {
|
|
3317
|
+
"operationId": "patch_builders_id_tester",
|
|
3318
|
+
"tags": [
|
|
3319
|
+
"builders"
|
|
3320
|
+
],
|
|
3321
|
+
"summary": "PATCH /builders/:id/tester",
|
|
3322
|
+
"description": "PATCH /builders/:id/tester — mark or unmark an account as a tester (task 1004845). Body: { is_tester: boolean }. A tester keeps everything it has and only drops out of the public leaderboard and the any-builder directory, so an account that exists to try the product need not be merged or archived to stay off the lists. Refuses your own account (403 cannot_change_own_tester, as PATCH /status does) and a machine principal (403 target_is_system_principal). rank: archon — changes who the public lists show. Gate: requirePermission('builder.status.set'), the same atom as deactivating an account.\n\n**Rank:** `archon` — Archon only (rank and identity management + the escalation keys — the trust boundary).\n\n**Permissions:** `builder.status.set` (all required).",
|
|
3323
|
+
"x-rank": "archon",
|
|
3324
|
+
"x-source": "src/bongos/routes/builders.js",
|
|
3325
|
+
"x-permissions": [
|
|
3326
|
+
"builder.status.set"
|
|
3327
|
+
],
|
|
3328
|
+
"parameters": [
|
|
3329
|
+
{
|
|
3330
|
+
"name": "id",
|
|
3331
|
+
"in": "path",
|
|
3332
|
+
"required": true,
|
|
3333
|
+
"schema": {
|
|
3334
|
+
"type": "string"
|
|
3335
|
+
},
|
|
3336
|
+
"description": "Path parameter `id`."
|
|
3337
|
+
}
|
|
3338
|
+
],
|
|
3339
|
+
"requestBody": {
|
|
3340
|
+
"required": true,
|
|
3341
|
+
"content": {
|
|
3342
|
+
"application/json": {
|
|
3343
|
+
"schema": {
|
|
3344
|
+
"$ref": "#/components/schemas/PatchBuildersIdTesterRequest"
|
|
3345
|
+
}
|
|
3346
|
+
}
|
|
3347
|
+
},
|
|
3348
|
+
"x-validated": true
|
|
3349
|
+
},
|
|
3350
|
+
"responses": {
|
|
3351
|
+
"200": {
|
|
3352
|
+
"description": "Success.",
|
|
3353
|
+
"content": {
|
|
3354
|
+
"application/json": {
|
|
3355
|
+
"schema": {
|
|
3356
|
+
"$ref": "#/components/schemas/PatchBuildersIdTesterResponse"
|
|
3357
|
+
}
|
|
3358
|
+
}
|
|
3359
|
+
}
|
|
3360
|
+
},
|
|
3361
|
+
"400": {
|
|
3362
|
+
"$ref": "#/components/responses/ValidationFailed"
|
|
3363
|
+
},
|
|
3364
|
+
"401": {
|
|
3365
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
3366
|
+
},
|
|
3367
|
+
"403": {
|
|
3368
|
+
"$ref": "#/components/responses/Forbidden"
|
|
3369
|
+
},
|
|
3370
|
+
"404": {
|
|
3371
|
+
"$ref": "#/components/responses/NotFound"
|
|
3372
|
+
}
|
|
3373
|
+
},
|
|
3374
|
+
"security": [
|
|
3375
|
+
{
|
|
3376
|
+
"builderSession": []
|
|
3377
|
+
}
|
|
3378
|
+
]
|
|
3379
|
+
}
|
|
3380
|
+
},
|
|
3311
3381
|
"/claims": {
|
|
3312
3382
|
"post": {
|
|
3313
3383
|
"operationId": "post_claims",
|
|
@@ -4888,6 +4958,72 @@
|
|
|
4888
4958
|
]
|
|
4889
4959
|
}
|
|
4890
4960
|
},
|
|
4961
|
+
"/copy-desk/pages/{pageId}/release": {
|
|
4962
|
+
"post": {
|
|
4963
|
+
"operationId": "post_copy_desk_pages_pageId_release",
|
|
4964
|
+
"tags": [
|
|
4965
|
+
"copy-desk"
|
|
4966
|
+
],
|
|
4967
|
+
"summary": "POST /copy-desk/pages/:pageId/release",
|
|
4968
|
+
"description": "POST /copy-desk/pages/:pageId/release — release a page round the reads cannot name: back to the /tweak queue with a note when it still holds its batch, otherwise closed so the page can start fresh. Metic and up; body { note, task_id? }.\n\n**Rank:** `metic+archon` — Metic or Archon rank (review/triage powers).\n\n**Permissions:** `task.abandon` (all required).",
|
|
4969
|
+
"x-rank": "metic+archon",
|
|
4970
|
+
"x-source": "modules/copy-desk/routes/copy-desk-release.js",
|
|
4971
|
+
"x-permissions": [
|
|
4972
|
+
"task.abandon"
|
|
4973
|
+
],
|
|
4974
|
+
"parameters": [
|
|
4975
|
+
{
|
|
4976
|
+
"name": "pageId",
|
|
4977
|
+
"in": "path",
|
|
4978
|
+
"required": true,
|
|
4979
|
+
"schema": {
|
|
4980
|
+
"type": "string"
|
|
4981
|
+
},
|
|
4982
|
+
"description": "Path parameter `pageId`."
|
|
4983
|
+
}
|
|
4984
|
+
],
|
|
4985
|
+
"requestBody": {
|
|
4986
|
+
"required": true,
|
|
4987
|
+
"content": {
|
|
4988
|
+
"application/json": {
|
|
4989
|
+
"schema": {
|
|
4990
|
+
"$ref": "#/components/schemas/PostCopyDeskPagesPageIdReleaseRequest"
|
|
4991
|
+
}
|
|
4992
|
+
}
|
|
4993
|
+
},
|
|
4994
|
+
"x-validated": true
|
|
4995
|
+
},
|
|
4996
|
+
"responses": {
|
|
4997
|
+
"200": {
|
|
4998
|
+
"description": "Success.",
|
|
4999
|
+
"content": {
|
|
5000
|
+
"application/json": {
|
|
5001
|
+
"schema": {
|
|
5002
|
+
"$ref": "#/components/schemas/PostCopyDeskPagesPageIdReleaseResponse"
|
|
5003
|
+
}
|
|
5004
|
+
}
|
|
5005
|
+
}
|
|
5006
|
+
},
|
|
5007
|
+
"400": {
|
|
5008
|
+
"$ref": "#/components/responses/ValidationFailed"
|
|
5009
|
+
},
|
|
5010
|
+
"401": {
|
|
5011
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
5012
|
+
},
|
|
5013
|
+
"403": {
|
|
5014
|
+
"$ref": "#/components/responses/Forbidden"
|
|
5015
|
+
},
|
|
5016
|
+
"404": {
|
|
5017
|
+
"$ref": "#/components/responses/NotFound"
|
|
5018
|
+
}
|
|
5019
|
+
},
|
|
5020
|
+
"security": [
|
|
5021
|
+
{
|
|
5022
|
+
"builderSession": []
|
|
5023
|
+
}
|
|
5024
|
+
]
|
|
5025
|
+
}
|
|
5026
|
+
},
|
|
4891
5027
|
"/copy-desk/pages/{pageId}/send-back": {
|
|
4892
5028
|
"post": {
|
|
4893
5029
|
"operationId": "post_copy_desk_pages_pageId_send_back",
|
|
@@ -5015,7 +5151,7 @@
|
|
|
5015
5151
|
"copy-desk"
|
|
5016
5152
|
],
|
|
5017
5153
|
"summary": "POST /copy-desk/proposals",
|
|
5018
|
-
"description": "------------------------------------------------------------------------- POST /copy-desk/proposals — an artist proposes new wording, and it becomes a TASK (task 1003114 / R03 of goal 1000074). Body: { string_id, proposed_text, why, file?, line?, flag_id? } rank: any signed-in builder — the same floor as filing, for the same reason (an artist is a craft, not a rank; see the header). THIS IS THE ROUTE THE NON-GOAL IS ABOUT, so read what it does NOT do. It writes no file. It stores no wording in any table of this module — ADR 0178 §3 pins that copy_desk_flags can never hold replacement text, and this route's whole design is what makes that pin survivable rather than merely strict. What it produces is a TASK carrying a patch, in the ledger every change already has to pass through, which nothing renders from. The wording reaches a person only after somebody claims that task, runs `node scripts/
|
|
5154
|
+
"description": "------------------------------------------------------------------------- POST /copy-desk/proposals — an artist proposes new wording, and it becomes a TASK (task 1003114 / R03 of goal 1000074). Body: { string_id, proposed_text, why, file?, line?, flag_id? } rank: any signed-in builder — the same floor as filing, for the same reason (an artist is a craft, not a rank; see the header). THIS IS THE ROUTE THE NON-GOAL IS ABOUT, so read what it does NOT do. It writes no file. It stores no wording in any table of this module — ADR 0178 §3 pins that copy_desk_flags can never hold replacement text, and this route's whole design is what makes that pin survivable rather than merely strict. What it produces is a TASK carrying a patch, in the ledger every change already has to pass through, which nothing renders from. The wording reaches a person only after somebody claims that task, runs `node scripts/bongos/copy-apply.js --task <id>`, and ships the resulting diff through the normal pipeline with the grader reading it. The shape is borrowed, not invented: it is `adapter.export()` from the design half (ADR 0081) applied to text. See modules/copy-desk/proposals.js. -------------------------------------------------------------------------\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
|
|
5019
5155
|
"x-rank": "any-builder",
|
|
5020
5156
|
"x-source": "modules/copy-desk/routes/copy-desk.js",
|
|
5021
5157
|
"requestBody": {
|
|
@@ -12027,6 +12163,44 @@
|
|
|
12027
12163
|
]
|
|
12028
12164
|
}
|
|
12029
12165
|
},
|
|
12166
|
+
"/inbox/votes": {
|
|
12167
|
+
"get": {
|
|
12168
|
+
"operationId": "get_inbox_votes",
|
|
12169
|
+
"tags": [
|
|
12170
|
+
"inbox"
|
|
12171
|
+
],
|
|
12172
|
+
"summary": "GET /inbox/votes",
|
|
12173
|
+
"description": "single idea read for the \"#NNN\" deep-link resolver (task 1047). Mirrors GET /blockers/:id. The hall resolves /#/idea/N by id, but the /inbox LIST returns only the open-first-50, so a closed/older idea ref would dead-end at a \"no such idea\" card. getIdea() reads any idea by id. Authed: a logged-out resolve hits the hall's softAuth \"sign in\" card, so no idea text is exposed publicly (the linked refs are public, the bodies aren't). GET /inbox/votes?ids=1,2,3 — net votes and the caller's own vote for every idea row on a page, in one call, for the hall's shared list vote control (vote-control.js, task 1004727): { votes: { [id]: { net, mine } } }. Declared above /inbox/:id. At most 200 ids.\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
|
|
12174
|
+
"x-rank": "any-builder",
|
|
12175
|
+
"x-source": "modules/ideas/routes/inbox.js",
|
|
12176
|
+
"responses": {
|
|
12177
|
+
"200": {
|
|
12178
|
+
"description": "Success.",
|
|
12179
|
+
"content": {
|
|
12180
|
+
"application/json": {
|
|
12181
|
+
"schema": {
|
|
12182
|
+
"$ref": "#/components/schemas/GetInboxVotesResponse"
|
|
12183
|
+
}
|
|
12184
|
+
}
|
|
12185
|
+
}
|
|
12186
|
+
},
|
|
12187
|
+
"400": {
|
|
12188
|
+
"$ref": "#/components/responses/BadRequest"
|
|
12189
|
+
},
|
|
12190
|
+
"401": {
|
|
12191
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
12192
|
+
},
|
|
12193
|
+
"403": {
|
|
12194
|
+
"$ref": "#/components/responses/Forbidden"
|
|
12195
|
+
}
|
|
12196
|
+
},
|
|
12197
|
+
"security": [
|
|
12198
|
+
{
|
|
12199
|
+
"builderSession": []
|
|
12200
|
+
}
|
|
12201
|
+
]
|
|
12202
|
+
}
|
|
12203
|
+
},
|
|
12030
12204
|
"/inbox/{id}": {
|
|
12031
12205
|
"get": {
|
|
12032
12206
|
"operationId": "get_inbox_id",
|
|
@@ -12034,7 +12208,7 @@
|
|
|
12034
12208
|
"inbox"
|
|
12035
12209
|
],
|
|
12036
12210
|
"summary": "GET /inbox/:id",
|
|
12037
|
-
"description": "
|
|
12211
|
+
"description": "**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
|
|
12038
12212
|
"x-rank": "any-builder",
|
|
12039
12213
|
"x-source": "modules/ideas/routes/inbox.js",
|
|
12040
12214
|
"parameters": [
|
|
@@ -12538,6 +12712,65 @@
|
|
|
12538
12712
|
]
|
|
12539
12713
|
}
|
|
12540
12714
|
},
|
|
12715
|
+
"/inbox/{id}/vote": {
|
|
12716
|
+
"post": {
|
|
12717
|
+
"operationId": "post_inbox_id_vote",
|
|
12718
|
+
"tags": [
|
|
12719
|
+
"inbox"
|
|
12720
|
+
],
|
|
12721
|
+
"summary": "POST /inbox/:id/vote",
|
|
12722
|
+
"description": "POST /inbox/:id/vote { vote: 1 | -1 | 0 } — a karma vote on an idea (task 1004727). Earns karma for the idea's SUBMITTER through the same weekly fold as task votes, after the same 7-day lag, weighing the same (owner, 2026-10-23). The same guards as POST /tasks/:id/vote: Metic+ by default, via its own idea.vote permission (task 1004834; seeded wherever task.vote is), 403 on your own idea, 409 once the vote has been folded into karma; 0 clears an untallied vote. rank: metic+archon — a trusted-builder reputation action.\n\n**Rank:** `metic+archon` — Metic or Archon rank (review/triage powers).\n\n**Permissions:** `idea.vote` (all required).",
|
|
12723
|
+
"x-rank": "metic+archon",
|
|
12724
|
+
"x-source": "modules/ideas/routes/inbox.js",
|
|
12725
|
+
"x-permissions": [
|
|
12726
|
+
"idea.vote"
|
|
12727
|
+
],
|
|
12728
|
+
"parameters": [
|
|
12729
|
+
{
|
|
12730
|
+
"name": "id",
|
|
12731
|
+
"in": "path",
|
|
12732
|
+
"required": true,
|
|
12733
|
+
"schema": {
|
|
12734
|
+
"type": "string"
|
|
12735
|
+
},
|
|
12736
|
+
"description": "Path parameter `id`."
|
|
12737
|
+
}
|
|
12738
|
+
],
|
|
12739
|
+
"requestBody": {
|
|
12740
|
+
"required": true,
|
|
12741
|
+
"content": {
|
|
12742
|
+
"application/json": {
|
|
12743
|
+
"schema": {
|
|
12744
|
+
"$ref": "#/components/schemas/PostInboxIdVoteRequest"
|
|
12745
|
+
}
|
|
12746
|
+
}
|
|
12747
|
+
},
|
|
12748
|
+
"x-validated": true
|
|
12749
|
+
},
|
|
12750
|
+
"responses": {
|
|
12751
|
+
"200": {
|
|
12752
|
+
"description": "Success."
|
|
12753
|
+
},
|
|
12754
|
+
"400": {
|
|
12755
|
+
"$ref": "#/components/responses/ValidationFailed"
|
|
12756
|
+
},
|
|
12757
|
+
"401": {
|
|
12758
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
12759
|
+
},
|
|
12760
|
+
"403": {
|
|
12761
|
+
"$ref": "#/components/responses/Forbidden"
|
|
12762
|
+
},
|
|
12763
|
+
"404": {
|
|
12764
|
+
"$ref": "#/components/responses/NotFound"
|
|
12765
|
+
}
|
|
12766
|
+
},
|
|
12767
|
+
"security": [
|
|
12768
|
+
{
|
|
12769
|
+
"builderSession": []
|
|
12770
|
+
}
|
|
12771
|
+
]
|
|
12772
|
+
}
|
|
12773
|
+
},
|
|
12541
12774
|
"/instance": {
|
|
12542
12775
|
"get": {
|
|
12543
12776
|
"operationId": "get_instance",
|
|
@@ -12814,7 +13047,7 @@
|
|
|
12814
13047
|
"me"
|
|
12815
13048
|
],
|
|
12816
13049
|
"summary": "GET /me",
|
|
12817
|
-
"description": "PMS-V2 task 188: response now also carries `unlocked` (server-joined achievement metadata) + `locked_with_progress` (server-computed human-readable progress hint per locked achievement) so the /builders UI can render achievements without a follow-up API call. Additive only — existing keys preserved for back-compat with scripts/
|
|
13050
|
+
"description": "PMS-V2 task 188: response now also carries `unlocked` (server-joined achievement metadata) + `locked_with_progress` (server-computed human-readable progress hint per locked achievement) so the /builders UI can render achievements without a follow-up API call. Additive only — existing keys preserved for back-compat with scripts/bongos/me.js and the /builders web client. V3.R24 (task 244): the `builder` payload now carries `karma` (migration 040 added the column + karma_log table). The field is surfaced by db.getBuilderById() — no shape change here, just documenting that the /api/bongos/me response is the canonical place clients read karma from. rank: any-builder — own identity + own contributions; preserved per CRITICAL §4.\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
|
|
12818
13051
|
"x-rank": "any-builder",
|
|
12819
13052
|
"x-source": "src/bongos/routes/me.js",
|
|
12820
13053
|
"responses": {
|
|
@@ -14330,7 +14563,7 @@
|
|
|
14330
14563
|
"me"
|
|
14331
14564
|
],
|
|
14332
14565
|
"summary": "GET /me/recent-ships",
|
|
14333
|
-
"description": "Tasks this builder has shipped, most recent first
|
|
14566
|
+
"description": "Tasks this builder has shipped, most recent first, plus `total` — how many there are in all. Numeric limits are clamped to 1..500. Home asks for a handful and shows `total` as its count (task 1004854: it used to download the whole history on every load and live refresh, and each row carries a per-session credits subquery). ?limit=all returns every shipped task; only the Accomplishments ledger asks for it, and only when that view is open. rank: any-builder — own shipped-task ledger.\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
|
|
14334
14567
|
"x-rank": "any-builder",
|
|
14335
14568
|
"x-source": "src/bongos/routes/me.js",
|
|
14336
14569
|
"responses": {
|
|
@@ -14665,7 +14898,7 @@
|
|
|
14665
14898
|
"me"
|
|
14666
14899
|
],
|
|
14667
14900
|
"summary": "GET /me/sound-prefs",
|
|
14668
|
-
"description": "Per-builder per-sound on/off preferences (V3.R91 / task 786, migration 075). The toggle list shows every sound from sound-prefs.KNOWN_SOUNDS with its label/description, system default (ON), the builder's override if any, and the effective enabled-state. The local player (.claude/sounds/play.js) reads a mirror of these prefs written by scripts/
|
|
14901
|
+
"description": "Per-builder per-sound on/off preferences (V3.R91 / task 786, migration 075). The toggle list shows every sound from sound-prefs.KNOWN_SOUNDS with its label/description, system default (ON), the builder's override if any, and the effective enabled-state. The local player (.claude/sounds/play.js) reads a mirror of these prefs written by scripts/bongos/fetch-sound-prefs.js at session start — this endpoint is the source of truth. rank: any-builder — own profile config; mirrors the skill-prefs route.\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
|
|
14669
14902
|
"x-rank": "any-builder",
|
|
14670
14903
|
"x-source": "modules/builder-settings/routes/settings.js",
|
|
14671
14904
|
"responses": {
|
|
@@ -18271,7 +18504,7 @@
|
|
|
18271
18504
|
"provisioning"
|
|
18272
18505
|
],
|
|
18273
18506
|
"summary": "POST /provisioning/instances/:id/core-upgrade",
|
|
18274
|
-
"description": "POST /provisioning/instances/:id/core-upgrade — move the core pin. rank: `core.pin.move` — archon floor AND system:true, so the catalog's own invariant forbids granting it to metic and no custom rank can be handed it without a deliberate, visible edit. BV1.R105 / ADR 0151 is why this is an atom and not `requireRank`: tests/government_require_permission.mjs fails the build on a new requireRank in a modules/*/routes gate. OR THE PROJECT'S OWN OWNER (task 1004174, ADR 0339 — the owner's ruling that only a project's owner upgrades it). Ownership of a TENANT row is asked first; any other caller meets the unmodified `core.pin.move` gate and its unchanged refusal. The platform's own row is not an owner's to move here — it stays on the atom. Body: { to: \"1.19.757\" } — and requiring it IS the second step of the two-step the owner asked for (ADR 0293 D4). A request that cannot fire without naming its target cannot fire from a stray click, and \"move to whatever is newest\", resolved at drain time, would be a different act from the one previewed: main moves between the preview and the confirm. What this does NOT check: whether the version is PUBLISHED, and whether the channel policy admits it. Both need the registry, and the only tool that reads it (update-channel.js `listAvailableVersions`) shells out synchronously — it would block the event loop for every other request on this process. It also lives in scripts/
|
|
18507
|
+
"description": "POST /provisioning/instances/:id/core-upgrade — move the core pin. rank: `core.pin.move` — archon floor AND system:true, so the catalog's own invariant forbids granting it to metic and no custom rank can be handed it without a deliberate, visible edit. BV1.R105 / ADR 0151 is why this is an atom and not `requireRank`: tests/government_require_permission.mjs fails the build on a new requireRank in a modules/*/routes gate. OR THE PROJECT'S OWN OWNER (task 1004174, ADR 0339 — the owner's ruling that only a project's owner upgrades it). Ownership of a TENANT row is asked first; any other caller meets the unmodified `core.pin.move` gate and its unchanged refusal. The platform's own row is not an owner's to move here — it stays on the atom. Body: { to: \"1.19.757\" } — and requiring it IS the second step of the two-step the owner asked for (ADR 0293 D4). A request that cannot fire without naming its target cannot fire from a stray click, and \"move to whatever is newest\", resolved at drain time, would be a different act from the one previewed: main moves between the preview and the confirm. What this does NOT check: whether the version is PUBLISHED, and whether the channel policy admits it. Both need the registry, and the only tool that reads it (update-channel.js `listAvailableVersions`) shells out synchronously — it would block the event loop for every other request on this process. It also lives in scripts/bongos/, which a module may not require (ADR 0083). The runner enforces both, where it is a CLI and both are free. See ../core-upgrade.js.\n\n**Rank:** `archon` — Archon only (rank and identity management + the escalation keys — the trust boundary).\n\n**Permissions:** `core.pin.move` (all required).",
|
|
18275
18508
|
"x-rank": "archon",
|
|
18276
18509
|
"x-source": "modules/provisioning/routes/core-upgrade.js",
|
|
18277
18510
|
"x-permissions": [
|
|
@@ -19718,7 +19951,7 @@
|
|
|
19718
19951
|
"provisioning"
|
|
19719
19952
|
],
|
|
19720
19953
|
"summary": "GET /provisioning/onboard-plan",
|
|
19721
|
-
"description": "GET /provisioning/onboard-plan?mode=greenfield|adopt&domain=<host> — the CANONICAL onboarding step sequence (task 2085; goal 35 / criterion 165: \"the canonical step sequence is the source of truth; skill/CLI/hall are forms over it\"). The hub's ?view=new wizard fetches it so its human-steps checklist can't drift from the CLI's (scripts/
|
|
19954
|
+
"description": "GET /provisioning/onboard-plan?mode=greenfield|adopt&domain=<host> — the CANONICAL onboarding step sequence (task 2085; goal 35 / criterion 165: \"the canonical step sequence is the source of truth; skill/CLI/hall are forms over it\"). The hub's ?view=new wizard fetches it so its human-steps checklist can't drift from the CLI's (scripts/bongos/onboard.js reads the same modules/provisioning/onboard-plan.js). `domain` relabels the terminal enter-hall step with the instance's own hall address (task 1002703); a non-hostname is dropped — clients render these labels, so unvalidated input must never be echoed back. rank: public — the signed-out hub wizard (/projects?view=new) reads it; it is the same public runbook the /new-project skill documents (no write, no secret).\n\n**Rank:** `public` — No authentication — any caller.",
|
|
19722
19955
|
"x-rank": "public",
|
|
19723
19956
|
"x-source": "modules/provisioning/routes/provisioning.js",
|
|
19724
19957
|
"responses": {
|
|
@@ -20281,7 +20514,7 @@
|
|
|
20281
20514
|
"public"
|
|
20282
20515
|
],
|
|
20283
20516
|
"summary": "GET /public/ref-ids",
|
|
20284
|
-
"description": "The id allow-list the doc-ref linkifier (scripts/
|
|
20517
|
+
"description": "The id allow-list the doc-ref linkifier (scripts/bongos/linkify-refs.js) and its CI gate consult to decide which bare \"#NNN\" are real references worth rewriting — and to WHICH resolver (task 629: task vs idea vs blocker, since the hall resolves /#/task/N, /#/idea/N, /#/blocker/N). IDs only — no titles or bodies — so it exposes nothing beyond what a number already implies, and it needs no builder token (so CI can call it). Cached longer than the live feeds: the id sets grow slowly and a few minutes of staleness only delays linkifying a brand-new reference. `tasks` stays the first key for back-compat with the pre-task 629 linkifier shape. rank: public — task/idea/blocker id allow-lists for the linkifier + CI gate.\n\n**Rank:** `public` — No authentication — any caller.",
|
|
20285
20518
|
"x-rank": "public",
|
|
20286
20519
|
"x-source": "src/bongos/routes/public.js",
|
|
20287
20520
|
"responses": {
|
|
@@ -20309,7 +20542,7 @@
|
|
|
20309
20542
|
"public"
|
|
20310
20543
|
],
|
|
20311
20544
|
"summary": "GET /public/repo-health",
|
|
20312
|
-
"description": "V3.R91 task 352: repo-health substrate. Latest daily snapshot from repo_health_snapshots (written by scripts/
|
|
20545
|
+
"description": "V3.R91 task 352: repo-health substrate. Latest daily snapshot from repo_health_snapshots (written by scripts/bongos/repo-metrics.js) + a small trailing trend so the status page can draw LOC / dead-exports / stale- branch lines over time. Same auth-free + cached + JSON-shape contract as the other public surfaces above. `?days=N` (1..90, default 30) sizes the trend window. rank: public — repo-health substrate (LOC, dead exports, stale branches).\n\n**Rank:** `public` — No authentication — any caller.",
|
|
20313
20546
|
"x-rank": "public",
|
|
20314
20547
|
"x-source": "src/bongos/routes/public.js",
|
|
20315
20548
|
"responses": {
|
|
@@ -20400,14 +20633,14 @@
|
|
|
20400
20633
|
"security": []
|
|
20401
20634
|
}
|
|
20402
20635
|
},
|
|
20403
|
-
"/public/
|
|
20636
|
+
"/public/versions": {
|
|
20404
20637
|
"get": {
|
|
20405
|
-
"operationId": "
|
|
20638
|
+
"operationId": "get_public_versions",
|
|
20406
20639
|
"tags": [
|
|
20407
20640
|
"public"
|
|
20408
20641
|
],
|
|
20409
|
-
"summary": "GET /public/
|
|
20410
|
-
"description": "
|
|
20642
|
+
"summary": "GET /public/versions",
|
|
20643
|
+
"description": "read-only surface for the status dashboard (status.<apex>).\n\n**Rank:** `public` — No authentication — any caller.",
|
|
20411
20644
|
"x-rank": "public",
|
|
20412
20645
|
"x-source": "src/bongos/routes/public.js",
|
|
20413
20646
|
"responses": {
|
|
@@ -20416,7 +20649,7 @@
|
|
|
20416
20649
|
"content": {
|
|
20417
20650
|
"application/json": {
|
|
20418
20651
|
"schema": {
|
|
20419
|
-
"$ref": "#/components/schemas/
|
|
20652
|
+
"$ref": "#/components/schemas/GetPublicVersionsResponse"
|
|
20420
20653
|
}
|
|
20421
20654
|
}
|
|
20422
20655
|
}
|
|
@@ -20428,29 +20661,121 @@
|
|
|
20428
20661
|
"security": []
|
|
20429
20662
|
}
|
|
20430
20663
|
},
|
|
20431
|
-
"/
|
|
20432
|
-
"
|
|
20433
|
-
"operationId": "
|
|
20664
|
+
"/raise/edit": {
|
|
20665
|
+
"post": {
|
|
20666
|
+
"operationId": "post_raise_edit",
|
|
20434
20667
|
"tags": [
|
|
20435
|
-
"
|
|
20668
|
+
"raise"
|
|
20436
20669
|
],
|
|
20437
|
-
"summary": "
|
|
20438
|
-
"description": "
|
|
20670
|
+
"summary": "POST /raise/edit",
|
|
20671
|
+
"description": "Any active builder may edit (owner, 2026-10-25) — requireRank at the lowest rank is \"signed in and active\", with the full deny gates of requireBuilder. The custom header + JSON body mean a form on another site cannot submit it.\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
|
|
20672
|
+
"x-rank": "any-builder",
|
|
20673
|
+
"x-source": "modules/raise/routes/raise.js",
|
|
20674
|
+
"requestBody": {
|
|
20675
|
+
"required": false,
|
|
20676
|
+
"content": {
|
|
20677
|
+
"application/json": {
|
|
20678
|
+
"schema": {
|
|
20679
|
+
"$ref": "#/components/schemas/PostRaiseEditRequest"
|
|
20680
|
+
}
|
|
20681
|
+
}
|
|
20682
|
+
},
|
|
20683
|
+
"x-validated": true
|
|
20684
|
+
},
|
|
20685
|
+
"responses": {
|
|
20686
|
+
"200": {
|
|
20687
|
+
"description": "Success.",
|
|
20688
|
+
"content": {
|
|
20689
|
+
"application/json": {
|
|
20690
|
+
"schema": {
|
|
20691
|
+
"$ref": "#/components/schemas/PostRaiseEditResponse"
|
|
20692
|
+
}
|
|
20693
|
+
}
|
|
20694
|
+
}
|
|
20695
|
+
},
|
|
20696
|
+
"400": {
|
|
20697
|
+
"$ref": "#/components/responses/ValidationFailed"
|
|
20698
|
+
},
|
|
20699
|
+
"401": {
|
|
20700
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
20701
|
+
},
|
|
20702
|
+
"403": {
|
|
20703
|
+
"$ref": "#/components/responses/Forbidden"
|
|
20704
|
+
}
|
|
20705
|
+
},
|
|
20706
|
+
"security": [
|
|
20707
|
+
{
|
|
20708
|
+
"builderSession": []
|
|
20709
|
+
}
|
|
20710
|
+
]
|
|
20711
|
+
}
|
|
20712
|
+
},
|
|
20713
|
+
"/raise/enter": {
|
|
20714
|
+
"post": {
|
|
20715
|
+
"operationId": "post_raise_enter",
|
|
20716
|
+
"tags": [
|
|
20717
|
+
"raise"
|
|
20718
|
+
],
|
|
20719
|
+
"summary": "POST /raise/enter",
|
|
20720
|
+
"description": "the investor sign-in: an authentication entry point gated by the shared password itself (scrypt-checked, attempts limited per address).\n\n**Rank:** `public` — No authentication — any caller.",
|
|
20439
20721
|
"x-rank": "public",
|
|
20440
|
-
"x-source": "
|
|
20722
|
+
"x-source": "modules/raise/routes/raise.js",
|
|
20723
|
+
"requestBody": {
|
|
20724
|
+
"required": false,
|
|
20725
|
+
"content": {
|
|
20726
|
+
"application/json": {
|
|
20727
|
+
"schema": {
|
|
20728
|
+
"$ref": "#/components/schemas/PostRaiseEnterRequest"
|
|
20729
|
+
}
|
|
20730
|
+
}
|
|
20731
|
+
},
|
|
20732
|
+
"x-validated": true
|
|
20733
|
+
},
|
|
20734
|
+
"responses": {
|
|
20735
|
+
"200": {
|
|
20736
|
+
"description": "Success."
|
|
20737
|
+
},
|
|
20738
|
+
"400": {
|
|
20739
|
+
"$ref": "#/components/responses/ValidationFailed"
|
|
20740
|
+
}
|
|
20741
|
+
},
|
|
20742
|
+
"security": []
|
|
20743
|
+
}
|
|
20744
|
+
},
|
|
20745
|
+
"/raise/interest": {
|
|
20746
|
+
"post": {
|
|
20747
|
+
"operationId": "post_raise_interest",
|
|
20748
|
+
"tags": [
|
|
20749
|
+
"raise"
|
|
20750
|
+
],
|
|
20751
|
+
"summary": "POST /raise/interest",
|
|
20752
|
+
"description": "a signed-in INVESTOR's non-binding indication; investors are not builders, so the gate is the raise session cookie, checked here.\n\n**Rank:** `public` — No authentication — any caller.",
|
|
20753
|
+
"x-rank": "public",
|
|
20754
|
+
"x-source": "modules/raise/routes/raise.js",
|
|
20755
|
+
"requestBody": {
|
|
20756
|
+
"required": true,
|
|
20757
|
+
"content": {
|
|
20758
|
+
"application/json": {
|
|
20759
|
+
"schema": {
|
|
20760
|
+
"$ref": "#/components/schemas/PostRaiseInterestRequest"
|
|
20761
|
+
}
|
|
20762
|
+
}
|
|
20763
|
+
},
|
|
20764
|
+
"x-validated": true
|
|
20765
|
+
},
|
|
20441
20766
|
"responses": {
|
|
20442
20767
|
"200": {
|
|
20443
20768
|
"description": "Success.",
|
|
20444
20769
|
"content": {
|
|
20445
20770
|
"application/json": {
|
|
20446
20771
|
"schema": {
|
|
20447
|
-
"$ref": "#/components/schemas/
|
|
20772
|
+
"$ref": "#/components/schemas/PostRaiseInterestResponse"
|
|
20448
20773
|
}
|
|
20449
20774
|
}
|
|
20450
20775
|
}
|
|
20451
20776
|
},
|
|
20452
20777
|
"400": {
|
|
20453
|
-
"$ref": "#/components/responses/
|
|
20778
|
+
"$ref": "#/components/responses/ValidationFailed"
|
|
20454
20779
|
}
|
|
20455
20780
|
},
|
|
20456
20781
|
"security": []
|
|
@@ -23543,6 +23868,51 @@
|
|
|
23543
23868
|
]
|
|
23544
23869
|
}
|
|
23545
23870
|
},
|
|
23871
|
+
"/store/modules/{key}/listing": {
|
|
23872
|
+
"get": {
|
|
23873
|
+
"operationId": "get_store_modules_key_listing",
|
|
23874
|
+
"tags": [
|
|
23875
|
+
"store"
|
|
23876
|
+
],
|
|
23877
|
+
"summary": "GET /store/modules/:key/listing",
|
|
23878
|
+
"description": "GET /api/bongos/store/modules/:key/listing — whether one module is in the catalog and why (task 1003810): the reason in a sentence, what would change it, and its parts reading, weakest first. Judges the newest version, as the catalog does (readListing in module-listing.js), so an author held below the floor is never left guessing. What the Security gate found is shown to the author only. rank: any-builder — the same public store metadata the catalog and the channel read show; nothing changed, no entitlement taken.\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
|
|
23879
|
+
"x-rank": "any-builder",
|
|
23880
|
+
"x-source": "src/bongos/routes/modules.js",
|
|
23881
|
+
"parameters": [
|
|
23882
|
+
{
|
|
23883
|
+
"name": "key",
|
|
23884
|
+
"in": "path",
|
|
23885
|
+
"required": true,
|
|
23886
|
+
"schema": {
|
|
23887
|
+
"type": "string"
|
|
23888
|
+
},
|
|
23889
|
+
"description": "Path parameter `key`."
|
|
23890
|
+
}
|
|
23891
|
+
],
|
|
23892
|
+
"responses": {
|
|
23893
|
+
"200": {
|
|
23894
|
+
"description": "Success."
|
|
23895
|
+
},
|
|
23896
|
+
"400": {
|
|
23897
|
+
"$ref": "#/components/responses/BadRequest"
|
|
23898
|
+
},
|
|
23899
|
+
"401": {
|
|
23900
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
23901
|
+
},
|
|
23902
|
+
"403": {
|
|
23903
|
+
"$ref": "#/components/responses/Forbidden"
|
|
23904
|
+
},
|
|
23905
|
+
"404": {
|
|
23906
|
+
"$ref": "#/components/responses/NotFound"
|
|
23907
|
+
}
|
|
23908
|
+
},
|
|
23909
|
+
"security": [
|
|
23910
|
+
{
|
|
23911
|
+
"builderSession": []
|
|
23912
|
+
}
|
|
23913
|
+
]
|
|
23914
|
+
}
|
|
23915
|
+
},
|
|
23546
23916
|
"/store/modules/{key}/versions": {
|
|
23547
23917
|
"post": {
|
|
23548
23918
|
"operationId": "post_store_modules_key_versions",
|
|
@@ -23550,7 +23920,7 @@
|
|
|
23550
23920
|
"store"
|
|
23551
23921
|
],
|
|
23552
23922
|
"summary": "POST /store/modules/:key/versions",
|
|
23553
|
-
"description": "POST /api/bongos/store/modules/:key/versions — publish one module version to the store (task 1004271, ADR 0338 D1). Body: the gzip tarball `bongos module publish` builds (scripts/
|
|
23923
|
+
"description": "POST /api/bongos/store/modules/:key/versions — publish one module version to the store (task 1004271, ADR 0338 D1). Body: the gzip tarball `bongos module publish` builds (scripts/bongos/module-artifact.js), sent as application/gzip. The route trusts nothing but the bytes: it recomputes every hash, re-runs the publish denylist, validates module.json and checks that HOWTO.md has its required sections (ADR 0347 D4) itself (verifyModuleArtifact), then keeps the tarball on the control plane's disk and INSERTs the version row in one transaction (module-store.js). A key's first publish makes the caller its author; after that only the author may publish, a delisted key takes nothing new, and a version is published once and never changed. Every new version lands on the tester channel; the body names no channel, so nothing here can skip testers (task 1003803, ADR 0344 D2). rank: metic+archon — it puts code in a shared store other instances install from. Gate: requirePermission('module.submit') — the atom that already guards filing a module into a shared queue; a dedicated `module.publish` atom is a follow-up once who-may-sell is decided.\n\n**Rank:** `metic+archon` — Metic or Archon rank (review/triage powers).\n\n**Permissions:** `module.submit` (all required).",
|
|
23554
23924
|
"x-rank": "metic+archon",
|
|
23555
23925
|
"x-source": "src/bongos/routes/modules.js",
|
|
23556
23926
|
"x-permissions": [
|
|
@@ -24501,7 +24871,7 @@
|
|
|
24501
24871
|
"tasks"
|
|
24502
24872
|
],
|
|
24503
24873
|
"summary": "GET /tasks/newcomer-floor",
|
|
24504
|
-
"description": "GET /tasks/newcomer-floor — supply gauge for the newcomer queue (task 614). Per-discipline counts of newcomer_friendly tasks in the two unclaimed live statuses: `ready` (claimable now — what the floor is measured against, per the canonical query in task 614) and `backlog` (held / pending review — proposals an Archon hasn't promoted yet). The AI floor replenisher (scripts/
|
|
24874
|
+
"description": "GET /tasks/newcomer-floor — supply gauge for the newcomer queue (task 614). Per-discipline counts of newcomer_friendly tasks in the two unclaimed live statuses: `ready` (claimable now — what the floor is measured against, per the canonical query in task 614) and `backlog` (held / pending review — proposals an Archon hasn't promoted yet). The AI floor replenisher (scripts/bongos/newcomer-floor.js) reads this to decide which disciplines are under-supplied, counting `ready + backlog` so a re-run never piles fresh proposals on top of ones already awaiting review (idempotency). The hall can also render it as a live gauge. Global across open versions on purpose — a Xenos can claim any newcomer_friendly ready task regardless of version, so the floor is a project-wide promise, not a per-version one. Read-only, any-builder; the inline SQL follows the same self-contained-feature-locality call as the peer-vote queries above (kept out of the shared db.js). MUST stay registered before '/tasks/:id' or Express routes the literal 'newcomer-floor' into the :id param (same ordering constraint as /claimable).\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
|
|
24505
24875
|
"x-rank": "any-builder",
|
|
24506
24876
|
"x-source": "modules/lifecycle/routes/tasks.js",
|
|
24507
24877
|
"responses": {
|
|
@@ -24611,6 +24981,44 @@
|
|
|
24611
24981
|
]
|
|
24612
24982
|
}
|
|
24613
24983
|
},
|
|
24984
|
+
"/tasks/peer-votes/lookup": {
|
|
24985
|
+
"get": {
|
|
24986
|
+
"operationId": "get_tasks_peer_votes_lookup",
|
|
24987
|
+
"tags": [
|
|
24988
|
+
"tasks"
|
|
24989
|
+
],
|
|
24990
|
+
"summary": "GET /tasks/peer-votes/lookup",
|
|
24991
|
+
"description": "GET /tasks/peer-votes/lookup?ids=1,2,3 — { votes: { [id]: { net, mine } } } for the hall's list vote control (task 1004727). At most 200 ids. rank: any-builder — a read; casting is gated on POST /tasks/:id/vote.\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
|
|
24992
|
+
"x-rank": "any-builder",
|
|
24993
|
+
"x-source": "modules/lifecycle/routes/task-votes.js",
|
|
24994
|
+
"responses": {
|
|
24995
|
+
"200": {
|
|
24996
|
+
"description": "Success.",
|
|
24997
|
+
"content": {
|
|
24998
|
+
"application/json": {
|
|
24999
|
+
"schema": {
|
|
25000
|
+
"$ref": "#/components/schemas/GetTasksPeerVotesLookupResponse"
|
|
25001
|
+
}
|
|
25002
|
+
}
|
|
25003
|
+
}
|
|
25004
|
+
},
|
|
25005
|
+
"400": {
|
|
25006
|
+
"$ref": "#/components/responses/BadRequest"
|
|
25007
|
+
},
|
|
25008
|
+
"401": {
|
|
25009
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
25010
|
+
},
|
|
25011
|
+
"403": {
|
|
25012
|
+
"$ref": "#/components/responses/Forbidden"
|
|
25013
|
+
}
|
|
25014
|
+
},
|
|
25015
|
+
"security": [
|
|
25016
|
+
{
|
|
25017
|
+
"builderSession": []
|
|
25018
|
+
}
|
|
25019
|
+
]
|
|
25020
|
+
}
|
|
25021
|
+
},
|
|
24614
25022
|
"/tasks/peer-votes/tally": {
|
|
24615
25023
|
"post": {
|
|
24616
25024
|
"operationId": "post_tasks_peer_votes_tally",
|
|
@@ -26469,7 +26877,7 @@
|
|
|
26469
26877
|
"versions"
|
|
26470
26878
|
],
|
|
26471
26879
|
"summary": "POST /versions/:id/close",
|
|
26472
|
-
"description": "POST /versions/:id/close — the move a version has never had (BV1.R12, task 1003599, goal 1000086, ADR 0250 D5, ADR 0263 §5). The hierarchy had a bottom and no top: tasks close, criteria close, goals close, and a version only ever moved by hand-run SQL on the droplet — `scripts/
|
|
26880
|
+
"description": "POST /versions/:id/close — the move a version has never had (BV1.R12, task 1003599, goal 1000086, ADR 0250 D5, ADR 0263 §5). The hierarchy had a bottom and no top: tasks close, criteria close, goals close, and a version only ever moved by hand-run SQL on the droplet — `scripts/bongos/version-close.js` still PRINTS that the API cannot do this (task 1003610, R23, points it here). A thing with no closing move does not close, which is how two versions ended up building at once. Archon-only, behind the `version.close` permission that has existed at that floor since BV1.R105 and that, until now, NOTHING referenced. THE TWO-STEP IS R14's ARCHIVE, in spirit and in shape: call it bare and a version holding open goals refuses with the GOALS ATTACHED; re-submit with a total `dispositions` map and it closes. Agents already know that interaction, and a second idiom for the same thing is how two surfaces drift apart. Auto-close (task 1003603, R16) reaches `db.closeVersion` with an EMPTY plan and never touches this route: by construction it fires only when the last non-maintenance goal achieved, so nothing is left to disposition (ADR 0263 §3). rank: archon — the disposition that finalises a version's scope-truth.\n\n**Rank:** `archon` — Archon only (rank and identity management + the escalation keys — the trust boundary).\n\n**Permissions:** `version.close` (all required).",
|
|
26473
26881
|
"x-rank": "archon",
|
|
26474
26882
|
"x-source": "modules/lifecycle/routes/versions.js",
|
|
26475
26883
|
"x-permissions": [
|
|
@@ -26641,7 +27049,7 @@
|
|
|
26641
27049
|
"versions"
|
|
26642
27050
|
],
|
|
26643
27051
|
"summary": "GET /versions/:id/progress",
|
|
26644
|
-
"description": "Per-criterion progress rollup: each done-when criterion → the tasks that gate it (task_criteria, migration 055) → live statuses → what remains. Powers `scripts/
|
|
27052
|
+
"description": "Per-criterion progress rollup: each done-when criterion → the tasks that gate it (task_criteria, migration 055) → live statuses → what remains. Powers `scripts/bongos/status.js` + the /status skill (task 435) and is reusable by the public status dashboard. Registered AFTER the static /versions/* routes above so ':id' can't swallow them. rank: public — read-only aggregate, same posture as /versions/:id/done-when. Public endpoint — asyncHandler logs the detail server-side but, with message:false, never leaks err.message (SQL/internal text) to unauthenticated callers (preserves the leak-safe 500 the hand-written catch produced).\n\n**Rank:** `public` — No authentication — any caller.",
|
|
26645
27053
|
"x-rank": "public",
|
|
26646
27054
|
"x-source": "modules/lifecycle/routes/versions.js",
|
|
26647
27055
|
"parameters": [
|
|
@@ -26676,7 +27084,7 @@
|
|
|
26676
27084
|
"work-categories"
|
|
26677
27085
|
],
|
|
26678
27086
|
"summary": "GET /work-categories",
|
|
26679
|
-
"description": "---- the ADVISORY human category (task 1003275, criterion legibility-categories) ---- A category ORIENTS a person and steers Claude; it authorises nothing. Nothing in this file, in claim eligibility, or in the claimable feed may branch on it — scripts/
|
|
27087
|
+
"description": "---- the ADVISORY human category (task 1003275, criterion legibility-categories) ---- A category ORIENTS a person and steers Claude; it authorises nothing. Nothing in this file, in claim eligibility, or in the claimable feed may branch on it — scripts/bongos/category-advisory-guard.js fails the build if that changes (ADR 0192). GET /work-categories — the project's set. rank: any-builder; it is a vocabulary, and a client that cannot read it hard-codes the labels instead.\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
|
|
26680
27088
|
"x-rank": "any-builder",
|
|
26681
27089
|
"x-source": "modules/lifecycle/routes/goals.js",
|
|
26682
27090
|
"responses": {
|
|
@@ -27998,6 +28406,15 @@
|
|
|
27998
28406
|
"template"
|
|
27999
28407
|
]
|
|
28000
28408
|
},
|
|
28409
|
+
"GetInboxVotesResponse": {
|
|
28410
|
+
"type": "object",
|
|
28411
|
+
"properties": {
|
|
28412
|
+
"votes": {}
|
|
28413
|
+
},
|
|
28414
|
+
"required": [
|
|
28415
|
+
"votes"
|
|
28416
|
+
]
|
|
28417
|
+
},
|
|
28001
28418
|
"GetLeaderboardResponse": {
|
|
28002
28419
|
"type": "object",
|
|
28003
28420
|
"properties": {
|
|
@@ -28146,10 +28563,12 @@
|
|
|
28146
28563
|
"GetMeRecentShipsResponse": {
|
|
28147
28564
|
"type": "object",
|
|
28148
28565
|
"properties": {
|
|
28149
|
-
"ships": {}
|
|
28566
|
+
"ships": {},
|
|
28567
|
+
"total": {}
|
|
28150
28568
|
},
|
|
28151
28569
|
"required": [
|
|
28152
|
-
"ships"
|
|
28570
|
+
"ships",
|
|
28571
|
+
"total"
|
|
28153
28572
|
]
|
|
28154
28573
|
},
|
|
28155
28574
|
"GetMeSessionsResponse": {
|
|
@@ -28889,15 +29308,6 @@
|
|
|
28889
29308
|
"task"
|
|
28890
29309
|
]
|
|
28891
29310
|
},
|
|
28892
|
-
"GetPublicUptimeResponse": {
|
|
28893
|
-
"type": "object",
|
|
28894
|
-
"properties": {
|
|
28895
|
-
"services": {}
|
|
28896
|
-
},
|
|
28897
|
-
"required": [
|
|
28898
|
-
"services"
|
|
28899
|
-
]
|
|
28900
|
-
},
|
|
28901
29311
|
"GetPublicVersionsResponse": {
|
|
28902
29312
|
"type": "object",
|
|
28903
29313
|
"properties": {
|
|
@@ -29287,6 +29697,15 @@
|
|
|
29287
29697
|
"can_vote"
|
|
29288
29698
|
]
|
|
29289
29699
|
},
|
|
29700
|
+
"GetTasksPeerVotesLookupResponse": {
|
|
29701
|
+
"type": "object",
|
|
29702
|
+
"properties": {
|
|
29703
|
+
"votes": {}
|
|
29704
|
+
},
|
|
29705
|
+
"required": [
|
|
29706
|
+
"votes"
|
|
29707
|
+
]
|
|
29708
|
+
},
|
|
29290
29709
|
"GetTasksResponse": {
|
|
29291
29710
|
"type": "object",
|
|
29292
29711
|
"properties": {
|
|
@@ -29478,6 +29897,27 @@
|
|
|
29478
29897
|
],
|
|
29479
29898
|
"additionalProperties": false
|
|
29480
29899
|
},
|
|
29900
|
+
"PatchBuildersIdTesterRequest": {
|
|
29901
|
+
"type": "object",
|
|
29902
|
+
"properties": {
|
|
29903
|
+
"is_tester": {
|
|
29904
|
+
"type": "boolean"
|
|
29905
|
+
}
|
|
29906
|
+
},
|
|
29907
|
+
"required": [
|
|
29908
|
+
"is_tester"
|
|
29909
|
+
],
|
|
29910
|
+
"additionalProperties": false
|
|
29911
|
+
},
|
|
29912
|
+
"PatchBuildersIdTesterResponse": {
|
|
29913
|
+
"type": "object",
|
|
29914
|
+
"properties": {
|
|
29915
|
+
"builder": {}
|
|
29916
|
+
},
|
|
29917
|
+
"required": [
|
|
29918
|
+
"builder"
|
|
29919
|
+
]
|
|
29920
|
+
},
|
|
29481
29921
|
"PatchDoneWhenCriterionIdRequest": {
|
|
29482
29922
|
"type": "object",
|
|
29483
29923
|
"properties": {
|
|
@@ -31187,6 +31627,45 @@
|
|
|
31187
31627
|
"merge"
|
|
31188
31628
|
]
|
|
31189
31629
|
},
|
|
31630
|
+
"PostCopyDeskPagesPageIdReleaseRequest": {
|
|
31631
|
+
"type": "object",
|
|
31632
|
+
"properties": {
|
|
31633
|
+
"note": {
|
|
31634
|
+
"type": "string",
|
|
31635
|
+
"minLength": 1
|
|
31636
|
+
},
|
|
31637
|
+
"task_id": {
|
|
31638
|
+
"type": "string",
|
|
31639
|
+
"minLength": 1,
|
|
31640
|
+
"maxLength": 20
|
|
31641
|
+
}
|
|
31642
|
+
},
|
|
31643
|
+
"required": [
|
|
31644
|
+
"note"
|
|
31645
|
+
],
|
|
31646
|
+
"additionalProperties": false
|
|
31647
|
+
},
|
|
31648
|
+
"PostCopyDeskPagesPageIdReleaseResponse": {
|
|
31649
|
+
"type": "object",
|
|
31650
|
+
"properties": {
|
|
31651
|
+
"ok": {
|
|
31652
|
+
"type": "boolean"
|
|
31653
|
+
},
|
|
31654
|
+
"outcome": {},
|
|
31655
|
+
"page_id": {},
|
|
31656
|
+
"round": {},
|
|
31657
|
+
"released": {},
|
|
31658
|
+
"pr": {}
|
|
31659
|
+
},
|
|
31660
|
+
"required": [
|
|
31661
|
+
"ok",
|
|
31662
|
+
"outcome",
|
|
31663
|
+
"page_id",
|
|
31664
|
+
"round",
|
|
31665
|
+
"released",
|
|
31666
|
+
"pr"
|
|
31667
|
+
]
|
|
31668
|
+
},
|
|
31190
31669
|
"PostCopyDeskPagesPageIdSendBackRequest": {
|
|
31191
31670
|
"type": "object",
|
|
31192
31671
|
"properties": {
|
|
@@ -33018,6 +33497,23 @@
|
|
|
33018
33497
|
"unchanged"
|
|
33019
33498
|
]
|
|
33020
33499
|
},
|
|
33500
|
+
"PostInboxIdVoteRequest": {
|
|
33501
|
+
"type": "object",
|
|
33502
|
+
"properties": {
|
|
33503
|
+
"vote": {
|
|
33504
|
+
"type": "integer",
|
|
33505
|
+
"enum": [
|
|
33506
|
+
-1,
|
|
33507
|
+
0,
|
|
33508
|
+
1
|
|
33509
|
+
]
|
|
33510
|
+
}
|
|
33511
|
+
},
|
|
33512
|
+
"required": [
|
|
33513
|
+
"vote"
|
|
33514
|
+
],
|
|
33515
|
+
"additionalProperties": false
|
|
33516
|
+
},
|
|
33021
33517
|
"PostInboxPreviewLandingRequest": {
|
|
33022
33518
|
"type": "object",
|
|
33023
33519
|
"properties": {
|
|
@@ -34405,6 +34901,72 @@
|
|
|
34405
34901
|
],
|
|
34406
34902
|
"additionalProperties": false
|
|
34407
34903
|
},
|
|
34904
|
+
"PostRaiseEditRequest": {
|
|
34905
|
+
"type": "object",
|
|
34906
|
+
"properties": {
|
|
34907
|
+
"copy": {
|
|
34908
|
+
"type": "object"
|
|
34909
|
+
},
|
|
34910
|
+
"settings": {
|
|
34911
|
+
"type": "object"
|
|
34912
|
+
}
|
|
34913
|
+
},
|
|
34914
|
+
"additionalProperties": false
|
|
34915
|
+
},
|
|
34916
|
+
"PostRaiseEditResponse": {
|
|
34917
|
+
"type": "object",
|
|
34918
|
+
"properties": {
|
|
34919
|
+
"ok": {
|
|
34920
|
+
"type": "boolean"
|
|
34921
|
+
},
|
|
34922
|
+
"changed": {}
|
|
34923
|
+
},
|
|
34924
|
+
"required": [
|
|
34925
|
+
"ok",
|
|
34926
|
+
"changed"
|
|
34927
|
+
]
|
|
34928
|
+
},
|
|
34929
|
+
"PostRaiseEnterRequest": {
|
|
34930
|
+
"type": "object",
|
|
34931
|
+
"properties": {
|
|
34932
|
+
"name": {
|
|
34933
|
+
"type": "string",
|
|
34934
|
+
"maxLength": 200
|
|
34935
|
+
},
|
|
34936
|
+
"linkedin": {
|
|
34937
|
+
"type": "string",
|
|
34938
|
+
"maxLength": 500
|
|
34939
|
+
},
|
|
34940
|
+
"password": {
|
|
34941
|
+
"type": "string",
|
|
34942
|
+
"maxLength": 200
|
|
34943
|
+
}
|
|
34944
|
+
},
|
|
34945
|
+
"additionalProperties": false
|
|
34946
|
+
},
|
|
34947
|
+
"PostRaiseInterestRequest": {
|
|
34948
|
+
"type": "object",
|
|
34949
|
+
"properties": {
|
|
34950
|
+
"amount": {
|
|
34951
|
+
"type": "number"
|
|
34952
|
+
}
|
|
34953
|
+
},
|
|
34954
|
+
"required": [
|
|
34955
|
+
"amount"
|
|
34956
|
+
],
|
|
34957
|
+
"additionalProperties": false
|
|
34958
|
+
},
|
|
34959
|
+
"PostRaiseInterestResponse": {
|
|
34960
|
+
"type": "object",
|
|
34961
|
+
"properties": {
|
|
34962
|
+
"ok": {
|
|
34963
|
+
"type": "boolean"
|
|
34964
|
+
}
|
|
34965
|
+
},
|
|
34966
|
+
"required": [
|
|
34967
|
+
"ok"
|
|
34968
|
+
]
|
|
34969
|
+
},
|
|
34408
34970
|
"PostRemovalProposalsIdDecideRequest": {
|
|
34409
34971
|
"type": "object",
|
|
34410
34972
|
"properties": {
|
|
@@ -36504,9 +37066,9 @@
|
|
|
36504
37066
|
"description": "A required dependency/feature is not configured or is temporarily down."
|
|
36505
37067
|
}
|
|
36506
37068
|
},
|
|
36507
|
-
"x-endpoint-count":
|
|
36508
|
-
"x-schema-count":
|
|
37069
|
+
"x-endpoint-count": 580,
|
|
37070
|
+
"x-schema-count": 622,
|
|
36509
37071
|
"x-undocumented-bodies": 12,
|
|
36510
|
-
"x-response-schemas":
|
|
36511
|
-
"x-generated-by": "scripts/
|
|
37072
|
+
"x-response-schemas": 404,
|
|
37073
|
+
"x-generated-by": "scripts/bongos/gen-api-docs.js"
|
|
36512
37074
|
}
|