@bongos/core 1.24.78 → 1.24.80
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 +498 -353
- package/.claude/skills/ask-for-help/SKILL.md +1 -1
- package/.claude/skills/builder-sequence/SKILL.md +1 -1
- package/.claude/skills/design/SKILL.md +1 -1
- package/.claude/skills/goal-create/SKILL.md +1 -1
- package/.claude/skills/planning-session/SKILL.md +1 -1
- package/clients/bongos-client/README.md +1 -1
- package/clients/bongos-client/bongos-client.global.js +8 -0
- package/clients/bongos-client/index.cjs +8 -0
- package/clients/bongos-client/index.d.ts +11 -0
- package/clients/bongos-client/index.mjs +8 -0
- package/docs/adr/0274-one-kernel-three-role-packs.md +2 -2
- package/docs/adr/0399-the-visor-is-glass-over-the-scene-and-owns-no-camera.md +91 -0
- package/docs/adr/0400-a-chain-reserves-work-and-each-sub-quest-is-still-claimed-alone.md +109 -0
- package/docs/adr/0401-one-options-menu-opens-every-settings-screen-in-a-frame.md +53 -0
- package/docs/adr/README.md +3 -0
- package/docs/api/openapi.json +195 -3
- package/docs/api-reference.md +8 -4
- package/docs/architecture.md +7 -3
- package/docs/copy-inventory.md +390 -370
- package/docs/copy-registry.json +719 -518
- package/docs/design/characters/character-sprites-source.webp +0 -0
- package/docs/file-map.md +7 -8
- package/docs/module-api-changelog.md +4 -0
- package/docs/modules-contract.md +5 -0
- package/docs/onboarding/slash-commands.md +1 -1
- package/docs/packs/{engineer.md → artisan.md} +5 -5
- package/docs/packs/artist.md +50 -4
- package/docs/page-inventory.json +15 -4
- package/docs/page-readings.json +3182 -3336
- package/docs/{packs/ideator.md → recipes/ideation-playbook.md} +5 -48
- package/migrations/core_296_crafts_artisan_artist.sql +72 -0
- package/migrations/core_297_builder_character.sql +30 -0
- package/modules/copy-desk/proposals.js +1 -1
- package/modules/economy/credits-by-craft.js +29 -15
- package/modules/hall-ui/public/ai-studio.html +4 -4
- package/modules/hall-ui/public/atlas.html +5 -5
- package/modules/hall-ui/public/atlas.js +3 -1
- package/modules/hall-ui/public/blockers.html +5 -5
- package/modules/hall-ui/public/board-room.html +4 -4
- package/modules/hall-ui/public/characters/artisan.png +0 -0
- package/modules/hall-ui/public/characters/artist.png +0 -0
- package/modules/hall-ui/public/characters/patron.png +0 -0
- package/modules/hall-ui/public/city.css +2 -1
- package/modules/hall-ui/public/city.html +9 -6
- package/modules/hall-ui/public/city.js +7 -1
- package/modules/hall-ui/public/collab.html +4 -4
- package/modules/hall-ui/public/commands.html +4 -4
- package/modules/hall-ui/public/copy-desk.html +4 -4
- package/modules/hall-ui/public/craft-mode.js +258 -64
- package/modules/hall-ui/public/deploy.html +4 -4
- package/modules/hall-ui/public/diagram-viewer.js +2 -1
- package/modules/hall-ui/public/dom-utils.js +1 -1
- package/modules/hall-ui/public/goal-map.html +9 -6
- package/modules/hall-ui/public/goals.html +5 -5
- package/modules/hall-ui/public/government.html +4 -4
- package/modules/hall-ui/public/hall-render.js +3 -1
- package/modules/hall-ui/public/home-city-draw.js +3 -3
- package/modules/hall-ui/public/home-city.css +4 -0
- package/modules/hall-ui/public/home-city.js +17 -9
- package/modules/hall-ui/public/home-gallery.js +8 -1
- package/modules/hall-ui/public/home-idea-box.css +2 -2
- package/modules/hall-ui/public/home-idea-box.js +3 -3
- package/modules/hall-ui/public/idea.html +5 -5
- package/modules/hall-ui/public/ideas.html +5 -5
- package/modules/hall-ui/public/index.html +11 -7
- package/modules/hall-ui/public/market-watch-item.html +4 -4
- package/modules/hall-ui/public/market-watch-rules.html +4 -4
- package/modules/hall-ui/public/market-watch.html +6 -9
- package/modules/hall-ui/public/market-watch.js +22 -45
- package/modules/hall-ui/public/modules.html +4 -4
- package/modules/hall-ui/public/money.html +4 -4
- package/modules/hall-ui/public/my-agents.html +4 -4
- package/modules/hall-ui/public/options-menu.js +409 -0
- package/modules/hall-ui/public/paintbrush.js +3 -3
- package/modules/hall-ui/public/palette.js +11 -13
- package/modules/hall-ui/public/primer.html +5 -5
- package/modules/hall-ui/public/profile-crafts.js +1 -1
- package/modules/hall-ui/public/profile-roles.js +23 -19
- package/modules/hall-ui/public/profile.css +1 -1
- package/modules/hall-ui/public/profile.html +19 -18
- package/modules/hall-ui/public/profile.js +19 -18
- package/modules/hall-ui/public/profile.states.json +4 -4
- package/modules/hall-ui/public/project-settings.html +4 -4
- package/modules/hall-ui/public/roster.html +4 -4
- package/modules/hall-ui/public/roster.js +3 -3
- package/modules/hall-ui/public/settings.css +24 -4
- package/modules/hall-ui/public/settings.html +21 -17
- package/modules/hall-ui/public/settings.js +44 -44
- package/modules/hall-ui/public/shell-game.css +65 -0
- package/modules/hall-ui/public/shell-game.js +283 -3
- package/modules/hall-ui/public/shell.js +7 -26
- package/modules/hall-ui/public/sky-interaction.js +7 -0
- package/modules/hall-ui/public/speciality-tools.js +1 -2
- package/modules/hall-ui/public/street-inside.js +3 -4
- package/modules/hall-ui/public/street.html +4 -4
- package/modules/hall-ui/public/studio.html +5 -5
- package/modules/hall-ui/public/style.css +73 -47
- package/modules/hall-ui/public/task-detail.js +5 -4
- package/modules/hall-ui/public/task.html +5 -5
- package/modules/hall-ui/public/thinking.css +10 -0
- package/modules/hall-ui/public/thinking.html +9 -6
- package/modules/hall-ui/public/tweak-editor.html +5 -5
- package/modules/hall-ui/public/tweak-editor.js +5 -1
- package/modules/hall-ui/public/update-pill.js +91 -2
- package/modules/hall-ui/public/visor.css +80 -0
- package/modules/hall-ui/public/visor.js +316 -0
- package/modules/hall-ui/public/watch-repo-invite.js +159 -0
- package/modules/hall-ui/public/watch.html +6 -5
- package/modules/hall-ui/public/watch.js +17 -2
- package/modules/hall-ui/public/welcome-boot.js +15 -6
- package/modules/hall-ui/public/work.html +5 -5
- package/modules/hall-ui/records/builders-roster.md +2 -2
- package/modules/hall-ui/records/craft-mode.md +13 -11
- package/modules/hall-ui/records/game-mode.md +2 -2
- package/modules/hall-ui/records/governor-street.md +1 -1
- package/modules/hall-ui/records/home-city.md +3 -1
- package/modules/hall-ui/records/market-watch-settings.md +2 -0
- package/modules/hall-ui/records/options-menu.md +15 -0
- package/modules/hall-ui/records/profile-roles.md +11 -11
- package/modules/hall-ui/records/sky.md +3 -3
- package/modules/hall-ui/records/start-screen.md +21 -0
- package/modules/hall-ui/records/tweak-editor.md +1 -1
- package/modules/hall-ui/records/update-pill.md +12 -0
- package/modules/hall-ui/records/visor.md +23 -0
- package/modules/hall-ui/records/welcome-tower.md +5 -5
- package/modules/ideas/ideator-stats.js +3 -1
- package/modules/ideas/inbox.js +2 -2
- package/modules/lifecycle/activity.js +1 -1
- package/modules/lifecycle/cascade.js +4 -4
- package/modules/lifecycle/goal-spec-task.js +1 -1
- package/modules/lifecycle/help-requests.js +19 -15
- package/modules/lifecycle/kickoff-checklist.js +3 -3
- package/modules/lifecycle/kickoff-seed.js +1 -1
- package/modules/lifecycle/migrations/lifecycle_021_crafts_artisan_artist.sql +29 -0
- package/modules/lifecycle/mingle.js +4 -4
- package/modules/lifecycle/page-tweak-write.js +1 -1
- package/modules/lifecycle/routes/task-write-routes.js +3 -1
- package/modules/lifecycle/routes/tasks.js +3 -3
- package/modules/lifecycle/ship-card.js +2 -3
- package/modules/lifecycle/task-classifier.js +39 -29
- package/modules/lifecycle/tests/cascade.mjs +7 -7
- package/modules/onboarding/founding-mode.js +3 -0
- package/modules/onboarding/genesis-home.js +21 -1
- package/modules/onboarding/routes/onboarding.js +2 -0
- package/modules/page-notes/notes.js +3 -2
- package/modules/page-notes/split.js +1 -1
- package/modules/platform-identity/craft-rollup.js +35 -7
- package/modules/platform-identity/migrations/platform_identity_036_crafts_artisan_artist.sql +45 -0
- package/modules/platform-identity/platform-identity.js +2 -2
- package/modules/platform-identity/routes/community-leaderboard.js +2 -1
- package/modules/platform-identity/routes/community-search.js +2 -1
- package/modules/platform-identity/routes/sso.js +2 -1
- package/modules/platform-identity/tests/platform-identity.mjs +6 -6
- package/modules/public-landing/public/community.html +3 -5
- package/modules/public-landing/public/index.html +1 -1
- package/modules/public-landing/public/projects.html +1 -1
- package/modules/specialities/migrations/specialities_004_crafts_artisan_artist.sql +30 -0
- package/modules/specialities/routes/specialities.js +2 -2
- package/modules/status-ui/public/status.js +1 -1
- package/modules/ui-design/kit/fixtures/community-leaderboard.json +10 -10
- package/modules/ui-design/kit/fixtures/community-search.json +2 -2
- package/modules/ui-design/kit/fixtures/scouting-recruiter.json +1 -1
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/release-notes.json +76 -0
- package/scripts/bongos/autobongos-host.js +19 -4
- package/scripts/bongos/autobongos-loop.js +1 -1
- package/scripts/bongos/claude-materialize.js +20 -1
- package/scripts/bongos/discipline-modes.json +7 -12
- package/scripts/bongos/fitness.js +1 -1
- package/scripts/bongos/gen-hall-sitemap.js +7 -7
- package/scripts/bongos/grade-smoke.js +2 -2
- package/scripts/bongos/init.js +2 -2
- package/scripts/bongos/newcomer-floor.config.json +1 -2
- package/scripts/bongos/newcomer-floor.js +4 -3
- package/scripts/bongos/newcomer-floor.templates.json +10 -12
- package/scripts/bongos/newcomer-floor.test.js +47 -38
- package/scripts/bongos/role-pack-guard.js +5 -4
- package/scripts/bongos/seed-tasks.example.json +3 -3
- package/scripts/bongos/setup.js +20 -107
- package/scripts/bongos/start.js +2 -2
- package/scripts/bongos/task.js +5 -4
- package/scripts/bongos/triage.js +1 -1
- package/scripts/bongos/worktree.js +16 -4
- package/scripts/setup-builder.js +6 -46
- package/src/bongos/auth-admission.js +8 -8
- package/src/bongos/craft-mode.js +2 -0
- package/src/bongos/db.js +39 -1
- package/src/bongos/github-repos.js +78 -0
- package/src/bongos/module-scope-map.js +22 -0
- package/src/bongos/role-stats.js +27 -11
- package/src/bongos/routes/github.js +100 -2
- package/src/bongos/routes/me.js +33 -0
- package/src/bongos/serve-internal.js +26 -9
- package/src/crafts.js +66 -0
- package/src/module-api.js +6 -1
- package/src/module-loader/manifest-schema.js +16 -0
- package/src/modules.js +2 -2
- package/src/role-responsibilities.js +6 -5
- package/tests/acclaim_feed_evidence_db.mjs +1 -1
- package/tests/activity_rollup_as_of.mjs +1 -1
- package/tests/api_alias_caller_ratchet.mjs +3 -3
- package/tests/application_lifecycle.mjs +1 -1
- package/tests/artist_review.mjs +1 -1
- package/tests/artist_review_goal.mjs +1 -1
- package/tests/autobongos_host.mjs +19 -1
- package/tests/blocker_hall_live_proof.mjs +1 -1
- package/tests/blocker_tasks_named_db.mjs +2 -2
- package/tests/canonical_profile_url.mjs +1 -1
- package/tests/cap_newcomer_tasks.mjs +13 -13
- package/tests/character_creation.mjs +294 -0
- package/tests/claim_gate_open_blocker.mjs +2 -2
- package/tests/claim_gate_rebase.mjs +6 -6
- package/tests/claude_materialize.mjs +75 -1
- package/tests/clawback_confirmed_backlog.mjs +3 -3
- package/tests/collab_page.mjs +8 -9
- package/tests/collab_self_settling.mjs +2 -2
- package/tests/community_leaderboard_route.mjs +13 -5
- package/tests/community_proof_db.mjs +3 -0
- package/tests/community_search_route.mjs +7 -6
- package/tests/conductor.mjs +1 -1
- package/tests/conductor_main_e2e.mjs +8 -8
- package/tests/copy_desk_flags_db.mjs +1 -1
- package/tests/copy_desk_page_approve.mjs +2 -2
- package/tests/copy_desk_page_claim.mjs +2 -2
- package/tests/copy_desk_page_next.mjs +1 -1
- package/tests/copy_desk_page_release.mjs +1 -1
- package/tests/copy_desk_page_submit.mjs +2 -2
- package/tests/core_258_box_session_claims_db.mjs +1 -1
- package/tests/craft_mode.mjs +48 -34
- package/tests/craft_mode_home.mjs +20 -20
- package/tests/craft_mode_looks.mjs +16 -15
- package/tests/craft_mode_nav.mjs +31 -29
- package/tests/craft_review_mode.mjs +46 -41
- package/tests/crafts_vocabulary.mjs +70 -0
- package/tests/cross_discipline_priority_direction.mjs +5 -5
- package/tests/fitness.mjs +7 -11
- package/tests/funded_project_pays_proof_db.mjs +1 -1
- package/tests/genesis_home.mjs +21 -1
- package/tests/github_chip.mjs +3 -3
- package/tests/github_repo_invite.mjs +379 -0
- package/tests/goal_criterion_confirm_ui.mjs +1 -1
- package/tests/goal_invite_consent.mjs +1 -1
- package/tests/goal_map_page.mjs +2 -2
- package/tests/goal_sort_staleness.mjs +1 -1
- package/tests/goal_spec_task.mjs +1 -1
- package/tests/goal_spec_task_db.mjs +3 -3
- package/tests/grade_engine.mjs +2 -2
- package/tests/grader_no_artifact.mjs +1 -1
- package/tests/grader_prompt_fencing.mjs +1 -1
- package/tests/grader_prompt_window_bound.mjs +1 -1
- package/tests/grader_reader_lens.mjs +2 -2
- package/tests/grader_severity_gate.mjs +1 -1
- package/tests/grader_unbacked_score.mjs +1 -1
- package/tests/hall_approval_queue.mjs +1 -1
- package/tests/hall_board_world.mjs +2 -2
- package/tests/hall_builders_page_pass.mjs +1 -1
- package/tests/hall_city.mjs +1 -1
- package/tests/hall_fullscreen.mjs +27 -3
- package/tests/hall_kit_charts.mjs +1 -1
- package/tests/hall_landing_boot.mjs +1 -1
- package/tests/hall_my_agents.mjs +16 -16
- package/tests/hall_nav.mjs +22 -15
- package/tests/hall_options_menu.mjs +247 -0
- package/tests/hall_oversight_world.mjs +1 -1
- package/tests/hall_palette.mjs +8 -9
- package/tests/hall_profile_world.mjs +3 -3
- package/tests/hall_record_world.mjs +2 -2
- package/tests/hall_settings_world.mjs +2 -1
- package/tests/hall_sitemap.mjs +6 -5
- package/tests/hall_start_screen.mjs +244 -0
- package/tests/hall_street.mjs +2 -2
- package/tests/hall_street_inside.mjs +17 -9
- package/tests/hall_studio_world.mjs +3 -3
- package/tests/hall_visor.mjs +224 -0
- package/tests/help_requests.mjs +47 -15
- package/tests/helpers.mjs +4 -4
- package/tests/home_city.mjs +6 -4
- package/tests/home_city_widget.mjs +33 -14
- package/tests/home_gallery_widget.mjs +4 -4
- package/tests/home_idea_box.mjs +6 -6
- package/tests/hub_community_page.mjs +3 -3
- package/tests/hub_craft_rollup.mjs +75 -36
- package/tests/hub_recent_ships.mjs +3 -2
- package/tests/idea_cascade.mjs +2 -2
- package/tests/idea_credit_streams_db.mjs +1 -1
- package/tests/idea_detail_page.mjs +1 -1
- package/tests/idea_ideate_full.mjs +5 -2
- package/tests/idea_spark_hall.mjs +1 -1
- package/tests/init.mjs +3 -3
- package/tests/instance_manifest.mjs +2 -2
- package/tests/kickoff_checklist.mjs +1 -1
- package/tests/leaderboard_roles.mjs +34 -25
- package/tests/lifecycle_claim_ladder_refs.mjs +55 -0
- package/tests/lightbulb.mjs +14 -10
- package/tests/main_discipline.mjs +8 -8
- package/tests/markdown_line_endings.mjs +1 -1
- package/tests/market_watch_pages.mjs +52 -74
- package/tests/me_streak_leaderboard_queries.mjs +3 -3
- package/tests/migration_allocation.mjs +1 -1
- package/tests/mingle.mjs +36 -21
- package/tests/module-scope-map.mjs +22 -2
- package/tests/module_api.mjs +1 -0
- package/tests/module_contributions.mjs +13 -13
- package/tests/module_manifest.mjs +29 -0
- package/tests/module_skills_hook.mjs +2 -2
- package/tests/modules.mjs +14 -7
- package/tests/nav_permission_atoms.mjs +2 -1
- package/tests/needs_rebase.mjs +1 -1
- package/tests/newcomer_restock.mjs +13 -13
- package/tests/page_notes_panel.mjs +22 -22
- package/tests/page_tweak_no_block.mjs +1 -1
- package/tests/paintbrush.mjs +7 -7
- package/tests/privacy_matrix.mjs +1 -0
- package/tests/profile_activity.mjs +20 -23
- package/tests/profile_earnings.mjs +1 -1
- package/tests/profile_nudge_prefs.mjs +4 -4
- package/tests/profile_role_headline.mjs +73 -46
- package/tests/profile_role_stats.mjs +55 -45
- package/tests/profile_rollup_consent.mjs +19 -6
- package/tests/profile_route.mjs +12 -12
- package/tests/profile_ui_cross_project.mjs +4 -4
- package/tests/project_invite_suggestions.mjs +2 -2
- package/tests/promote_goal_id.mjs +1 -1
- package/tests/publish_manifest.mjs +1 -1
- package/tests/rank_floor_wiring.mjs +1 -1
- package/tests/regrade_actual_minutes.mjs +1 -1
- package/tests/removal_proposal.mjs +2 -2
- package/tests/reward_gate.mjs +4 -4
- package/tests/reward_mode_cost_plus_only.mjs +1 -1
- package/tests/role_responsibilities.mjs +18 -12
- package/tests/role_stats_db.mjs +17 -16
- package/tests/scouting_rollup_fanout.mjs +5 -5
- package/tests/seed_tasks.mjs +5 -2
- package/tests/session_earnings_mirror_db.mjs +1 -1
- package/tests/session_reward_on_land_db.mjs +1 -1
- package/tests/session_reward_reconcile_db.mjs +2 -2
- package/tests/sessions_kit_pager.mjs +1 -1
- package/tests/settings_art_key_absent.mjs +2 -2
- package/tests/settings_main_role.mjs +21 -20
- package/tests/setup_flow.mjs +3 -3
- package/tests/setup_smoke.mjs +20 -0
- package/tests/ship_card.mjs +6 -6
- package/tests/specialities.mjs +16 -4
- package/tests/speciality_db_shape.mjs +6 -6
- package/tests/speciality_injection.mjs +17 -17
- package/tests/speciality_offer_ui.mjs +5 -5
- package/tests/speciality_offered.mjs +6 -5
- package/tests/speciality_session_skills.mjs +7 -7
- package/tests/speciality_skills.mjs +11 -11
- package/tests/speciality_walkthrough_ui.mjs +2 -2
- package/tests/sso_checkin_identity_spoof.mjs +2 -1
- package/tests/task_classifier_vocab.mjs +10 -0
- package/tests/task_cli.mjs +11 -3
- package/tests/task_criteria_unlink_db.mjs +2 -2
- package/tests/task_discipline_required.mjs +38 -16
- package/tests/task_goal_required.mjs +4 -4
- package/tests/task_needs_db.mjs +1 -1
- package/tests/tweak_replaces_artist_review.mjs +1 -1
- package/tests/update_pill.mjs +153 -2
- package/tests/upkeep_home.mjs +1 -1
- package/tests/v3_c1_options_proof.mjs +145 -0
- package/tests/visual_review.mjs +3 -3
- package/tests/watch_applications_queue.mjs +8 -5
- package/tests/watch_sealed_floor.mjs +3 -1
- package/tests/welcome_boot.mjs +12 -9
- package/tests/welcome_boot_browser.mjs +13 -13
- package/tests/worktree_helper.mjs +16 -1
package/docs/api/openapi.json
CHANGED
|
@@ -7615,6 +7615,37 @@
|
|
|
7615
7615
|
]
|
|
7616
7616
|
}
|
|
7617
7617
|
},
|
|
7618
|
+
"/founding/skip": {
|
|
7619
|
+
"post": {
|
|
7620
|
+
"operationId": "post_founding_skip",
|
|
7621
|
+
"tags": [
|
|
7622
|
+
"founding"
|
|
7623
|
+
],
|
|
7624
|
+
"summary": "POST /founding/skip",
|
|
7625
|
+
"description": "Skip genesis: the owner opens the full hall from any stage, no sitting, no gate.\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
|
|
7626
|
+
"x-rank": "any-builder",
|
|
7627
|
+
"x-source": "modules/onboarding/routes/onboarding.js",
|
|
7628
|
+
"responses": {
|
|
7629
|
+
"200": {
|
|
7630
|
+
"description": "Success."
|
|
7631
|
+
},
|
|
7632
|
+
"400": {
|
|
7633
|
+
"$ref": "#/components/responses/BadRequest"
|
|
7634
|
+
},
|
|
7635
|
+
"401": {
|
|
7636
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
7637
|
+
},
|
|
7638
|
+
"403": {
|
|
7639
|
+
"$ref": "#/components/responses/Forbidden"
|
|
7640
|
+
}
|
|
7641
|
+
},
|
|
7642
|
+
"security": [
|
|
7643
|
+
{
|
|
7644
|
+
"builderSession": []
|
|
7645
|
+
}
|
|
7646
|
+
]
|
|
7647
|
+
}
|
|
7648
|
+
},
|
|
7618
7649
|
"/founding/stages/{stage}/close": {
|
|
7619
7650
|
"post": {
|
|
7620
7651
|
"operationId": "post_founding_stages_stage_close",
|
|
@@ -7812,6 +7843,83 @@
|
|
|
7812
7843
|
]
|
|
7813
7844
|
}
|
|
7814
7845
|
},
|
|
7846
|
+
"/github/repo-invite": {
|
|
7847
|
+
"get": {
|
|
7848
|
+
"operationId": "get_github_repo_invite",
|
|
7849
|
+
"tags": [
|
|
7850
|
+
"github"
|
|
7851
|
+
],
|
|
7852
|
+
"summary": "GET /github/repo-invite",
|
|
7853
|
+
"description": "(permission access_request.review) — where one person stands on the project's repo: collaborator, pending (invite sent, not yet accepted) or none.\n\n**Rank:** `archon` — Archon only (rank and identity management + the escalation keys — the trust boundary).\n\n**Permissions:** `access_request.review` (all required).",
|
|
7854
|
+
"x-rank": "archon",
|
|
7855
|
+
"x-source": "src/bongos/routes/github.js",
|
|
7856
|
+
"x-permissions": [
|
|
7857
|
+
"access_request.review"
|
|
7858
|
+
],
|
|
7859
|
+
"responses": {
|
|
7860
|
+
"200": {
|
|
7861
|
+
"description": "Success."
|
|
7862
|
+
},
|
|
7863
|
+
"400": {
|
|
7864
|
+
"$ref": "#/components/responses/BadRequest"
|
|
7865
|
+
},
|
|
7866
|
+
"401": {
|
|
7867
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
7868
|
+
},
|
|
7869
|
+
"403": {
|
|
7870
|
+
"$ref": "#/components/responses/Forbidden"
|
|
7871
|
+
}
|
|
7872
|
+
},
|
|
7873
|
+
"security": [
|
|
7874
|
+
{
|
|
7875
|
+
"builderSession": []
|
|
7876
|
+
}
|
|
7877
|
+
]
|
|
7878
|
+
},
|
|
7879
|
+
"post": {
|
|
7880
|
+
"operationId": "post_github_repo_invite",
|
|
7881
|
+
"tags": [
|
|
7882
|
+
"github"
|
|
7883
|
+
],
|
|
7884
|
+
"summary": "POST /github/repo-invite",
|
|
7885
|
+
"description": "(permission access_request.review, the same gate as a hall invite) — invites a person to THIS project's GitHub repository, acting as the caller's OWN GitHub account (their stored repo token), never a platform credential. GitHub decides whether the caller may add people. The access is always READ-ONLY: write ('push') and above are refused, since a builder ships through the server. It grants no Bongos rank and does not admit anyone to the hall: those are the hall invite's own record.\n\n**Rank:** `archon` — Archon only (rank and identity management + the escalation keys — the trust boundary).\n\n**Permissions:** `access_request.review` (all required).",
|
|
7886
|
+
"x-rank": "archon",
|
|
7887
|
+
"x-source": "src/bongos/routes/github.js",
|
|
7888
|
+
"x-permissions": [
|
|
7889
|
+
"access_request.review"
|
|
7890
|
+
],
|
|
7891
|
+
"requestBody": {
|
|
7892
|
+
"required": true,
|
|
7893
|
+
"content": {
|
|
7894
|
+
"application/json": {
|
|
7895
|
+
"schema": {
|
|
7896
|
+
"$ref": "#/components/schemas/PostGithubRepoInviteRequest"
|
|
7897
|
+
}
|
|
7898
|
+
}
|
|
7899
|
+
},
|
|
7900
|
+
"x-validated": true
|
|
7901
|
+
},
|
|
7902
|
+
"responses": {
|
|
7903
|
+
"200": {
|
|
7904
|
+
"description": "Success."
|
|
7905
|
+
},
|
|
7906
|
+
"400": {
|
|
7907
|
+
"$ref": "#/components/responses/ValidationFailed"
|
|
7908
|
+
},
|
|
7909
|
+
"401": {
|
|
7910
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
7911
|
+
},
|
|
7912
|
+
"403": {
|
|
7913
|
+
"$ref": "#/components/responses/Forbidden"
|
|
7914
|
+
}
|
|
7915
|
+
},
|
|
7916
|
+
"security": [
|
|
7917
|
+
{
|
|
7918
|
+
"builderSession": []
|
|
7919
|
+
}
|
|
7920
|
+
]
|
|
7921
|
+
}
|
|
7922
|
+
},
|
|
7815
7923
|
"/github/repo/visibility": {
|
|
7816
7924
|
"post": {
|
|
7817
7925
|
"operationId": "post_github_repo_visibility",
|
|
@@ -15422,6 +15530,55 @@
|
|
|
15422
15530
|
]
|
|
15423
15531
|
}
|
|
15424
15532
|
},
|
|
15533
|
+
"/me/character": {
|
|
15534
|
+
"put": {
|
|
15535
|
+
"operationId": "put_me_character",
|
|
15536
|
+
"tags": [
|
|
15537
|
+
"me"
|
|
15538
|
+
],
|
|
15539
|
+
"summary": "PUT /me/character",
|
|
15540
|
+
"description": "task 1005147 (BONGOS-V3 G2): character creation. Body: { character } — 'artisan' | 'artist' | 'patron', or null to clear it (the hall clears it and signs out: switching character is signing out and back in, spec settled point 2). Identity and view only: no claim, vote, deploy or spend gate reads it (criterion character-is-identity-not-authority). 422 invalid_character otherwise. rank: any-builder — a builder writes only their own row (req.builder.id), the /me/disciplines posture.\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
|
|
15541
|
+
"x-rank": "any-builder",
|
|
15542
|
+
"x-source": "src/bongos/routes/me.js",
|
|
15543
|
+
"requestBody": {
|
|
15544
|
+
"required": false,
|
|
15545
|
+
"content": {
|
|
15546
|
+
"application/json": {
|
|
15547
|
+
"schema": {
|
|
15548
|
+
"$ref": "#/components/schemas/PutMeCharacterRequest"
|
|
15549
|
+
}
|
|
15550
|
+
}
|
|
15551
|
+
},
|
|
15552
|
+
"x-validated": true
|
|
15553
|
+
},
|
|
15554
|
+
"responses": {
|
|
15555
|
+
"200": {
|
|
15556
|
+
"description": "Success.",
|
|
15557
|
+
"content": {
|
|
15558
|
+
"application/json": {
|
|
15559
|
+
"schema": {
|
|
15560
|
+
"$ref": "#/components/schemas/PutMeCharacterResponse"
|
|
15561
|
+
}
|
|
15562
|
+
}
|
|
15563
|
+
}
|
|
15564
|
+
},
|
|
15565
|
+
"400": {
|
|
15566
|
+
"$ref": "#/components/responses/ValidationFailed"
|
|
15567
|
+
},
|
|
15568
|
+
"401": {
|
|
15569
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
15570
|
+
},
|
|
15571
|
+
"403": {
|
|
15572
|
+
"$ref": "#/components/responses/Forbidden"
|
|
15573
|
+
}
|
|
15574
|
+
},
|
|
15575
|
+
"security": [
|
|
15576
|
+
{
|
|
15577
|
+
"builderSession": []
|
|
15578
|
+
}
|
|
15579
|
+
]
|
|
15580
|
+
}
|
|
15581
|
+
},
|
|
15425
15582
|
"/me/checkout-freshness": {
|
|
15426
15583
|
"patch": {
|
|
15427
15584
|
"operationId": "patch_me_checkout_freshness",
|
|
@@ -37483,6 +37640,22 @@
|
|
|
37483
37640
|
},
|
|
37484
37641
|
"additionalProperties": false
|
|
37485
37642
|
},
|
|
37643
|
+
"PostGithubRepoInviteRequest": {
|
|
37644
|
+
"type": "object",
|
|
37645
|
+
"properties": {
|
|
37646
|
+
"github_login": {
|
|
37647
|
+
"type": "string",
|
|
37648
|
+
"maxLength": 60
|
|
37649
|
+
},
|
|
37650
|
+
"permission": {
|
|
37651
|
+
"type": "string"
|
|
37652
|
+
}
|
|
37653
|
+
},
|
|
37654
|
+
"required": [
|
|
37655
|
+
"github_login"
|
|
37656
|
+
],
|
|
37657
|
+
"additionalProperties": false
|
|
37658
|
+
},
|
|
37486
37659
|
"PostGithubRepoVisibilityRequest": {
|
|
37487
37660
|
"type": "object",
|
|
37488
37661
|
"properties": {
|
|
@@ -42942,6 +43115,25 @@
|
|
|
42942
43115
|
],
|
|
42943
43116
|
"additionalProperties": false
|
|
42944
43117
|
},
|
|
43118
|
+
"PutMeCharacterRequest": {
|
|
43119
|
+
"type": "object",
|
|
43120
|
+
"properties": {
|
|
43121
|
+
"character": {
|
|
43122
|
+
"type": "string",
|
|
43123
|
+
"maxLength": 32
|
|
43124
|
+
}
|
|
43125
|
+
},
|
|
43126
|
+
"additionalProperties": false
|
|
43127
|
+
},
|
|
43128
|
+
"PutMeCharacterResponse": {
|
|
43129
|
+
"type": "object",
|
|
43130
|
+
"properties": {
|
|
43131
|
+
"character": {}
|
|
43132
|
+
},
|
|
43133
|
+
"required": [
|
|
43134
|
+
"character"
|
|
43135
|
+
]
|
|
43136
|
+
},
|
|
42945
43137
|
"PutMingleOptInRequest": {
|
|
42946
43138
|
"type": "object",
|
|
42947
43139
|
"properties": {
|
|
@@ -43265,9 +43457,9 @@
|
|
|
43265
43457
|
"description": "A required dependency/feature is not configured or is temporarily down."
|
|
43266
43458
|
}
|
|
43267
43459
|
},
|
|
43268
|
-
"x-endpoint-count":
|
|
43269
|
-
"x-schema-count":
|
|
43460
|
+
"x-endpoint-count": 694,
|
|
43461
|
+
"x-schema-count": 729,
|
|
43270
43462
|
"x-undocumented-bodies": 12,
|
|
43271
|
-
"x-response-schemas":
|
|
43463
|
+
"x-response-schemas": 462,
|
|
43272
43464
|
"x-generated-by": "scripts/bongos/gen-api-docs.js"
|
|
43273
43465
|
}
|
package/docs/api-reference.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Bongos API reference
|
|
4
4
|
|
|
5
|
-
> **Generated from the live route files** — the route file is authoritative.
|
|
5
|
+
> **Generated from the live route files** — the route file is authoritative. 694 endpoints across 117 route files.
|
|
6
6
|
> Machine-readable spec: [`docs/api/openapi.json`](api/openapi.json) (OpenAPI 3.1). Rendered docs site: **`/docs`** (e.g. `cloudbongos.com/docs`).
|
|
7
7
|
|
|
8
8
|
Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust-boundary-server-enforced-permissions.md)): `public` < `any-builder` < `metic+archon` < `archon`.
|
|
@@ -313,7 +313,7 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust
|
|
|
313
313
|
| POST | `/api/bongos/feedback/receipt` | `any-builder` | `sha256`, `kind` | signed-in builder — a receipt only says "this builder sent this text"; it grants nothing here, and the hub files every report behind a nod. |
|
|
314
314
|
| GET | `/api/bongos/feedback/receipt/:id` | `public` | — | the hub redeems a receipt with no session of its own. |
|
|
315
315
|
|
|
316
|
-
## `founding` (
|
|
316
|
+
## `founding` (7)
|
|
317
317
|
|
|
318
318
|
| Method | Path | Rank | Body | Description |
|
|
319
319
|
|---|---|---|---|---|
|
|
@@ -321,16 +321,19 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust
|
|
|
321
321
|
| GET | `/api/bongos/founding/builders` | `any-builder` | — | The founding mark (task 1004424): who joined while the project was founding, in join order, with the stage each joined at. |
|
|
322
322
|
| GET | `/api/bongos/founding/genesis` | `any-builder` | — | A project born through the startup flow enters genesis on its first founding read (founding-birth.js, task 1004506) — here and on GET /me… |
|
|
323
323
|
| POST | `/api/bongos/founding/plan` | `any-builder` | `days`, `passes`, `advisors`, `government`, `expected_builders`, `existing` | The plan's ranges and vocabularies are genesis-home.js parsePlan's (one source); this schema only names the fields so an unknown one is r… |
|
|
324
|
+
| POST | `/api/bongos/founding/skip` | `any-builder` | — | Skip genesis: the owner opens the full hall from any stage, no sitting, no gate. |
|
|
324
325
|
| POST | `/api/bongos/founding/stages/:stage/close` | `any-builder` | — | task 1005121: one call. |
|
|
325
326
|
| POST | `/api/bongos/founding/start` | `any-builder` | — | |
|
|
326
327
|
|
|
327
|
-
## `github` (
|
|
328
|
+
## `github` (8)
|
|
328
329
|
|
|
329
330
|
| Method | Path | Rank | Body | Description |
|
|
330
331
|
|---|---|---|---|---|
|
|
331
332
|
| GET | `/api/bongos/github/orgs` | `any-builder` | — | the caller's OWN GitHub organisations (task 1004651), for the project page's "on an organisation" choice. |
|
|
332
333
|
| GET | `/api/bongos/github/orgs/:org` | `any-builder` | — | checks ONE organisation name the caller typed, as their own GitHub credential sees it (task 1004651). |
|
|
333
334
|
| GET | `/api/bongos/github/repo` | `any-builder` | — | reads one repo AS the caller's own GitHub credential sees it (the manage page's repo-visibility read, task 1003045). |
|
|
335
|
+
| GET | `/api/bongos/github/repo-invite` | `archon` | — | (permission access_request.review) — where one person stands on the project's repo: collaborator, pending (invite sent, not yet accepted)… |
|
|
336
|
+
| POST | `/api/bongos/github/repo-invite` | `archon` | `github_login`, `permission` | (permission access_request.review, the same gate as a hall invite) — invites a person to THIS project's GitHub repository, acting as the … |
|
|
334
337
|
| POST | `/api/bongos/github/repo/visibility` | `any-builder` | `repo`, `visibility` | flips one of the caller's repos PUBLIC, with their own credential. |
|
|
335
338
|
| GET | `/api/bongos/github/repos` | `any-builder` | — | acts only on the caller's OWN GitHub identity (the token they granted). |
|
|
336
339
|
| POST | `/api/bongos/github/repos` | `any-builder` | `name`, `org` | creates a repo in the caller's OWN account, or (task 1004651) under an organisation they name in `org`. |
|
|
@@ -564,7 +567,7 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust
|
|
|
564
567
|
| PUT | `/api/bongos/market-watch/settings/key` | `metic+archon` | `key` | |
|
|
565
568
|
| DELETE | `/api/bongos/market-watch/settings/key` | `metic+archon` | — | |
|
|
566
569
|
|
|
567
|
-
## `me` (
|
|
570
|
+
## `me` (61)
|
|
568
571
|
|
|
569
572
|
| Method | Path | Rank | Body | Description |
|
|
570
573
|
|---|---|---|---|---|
|
|
@@ -575,6 +578,7 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust
|
|
|
575
578
|
| POST | `/api/bongos/me/cash-outs` | `any-builder` | `amount_cents`, `instruction_id` | POST /api/bongos/me/cash-outs — ask to take amount_cents of my balance to my bank. |
|
|
576
579
|
| POST | `/api/bongos/me/cash-outs/:id/cancel` | `any-builder` | — | POST /api/bongos/me/cash-outs/:id/cancel — withdraw one of my requests that has not been sent. |
|
|
577
580
|
| POST | `/api/bongos/me/cash-outs/:id/retry` | `any-builder` | — | POST /api/bongos/me/cash-outs/:id/retry — try one of my unfinished withdrawals again. |
|
|
581
|
+
| PUT | `/api/bongos/me/character` | `any-builder` | `character` | task 1005147 (BONGOS-V3 G2): character creation. |
|
|
578
582
|
| PATCH | `/api/bongos/me/checkout-freshness` | `any-builder` | `behind`, `branch`, `reason` | How far behind this builder's local project folder is (task 1005021, checkout-freshness.js). |
|
|
579
583
|
| PATCH | `/api/bongos/me/core-move-seen` | `any-builder` | `id` | The core move this builder has been told about (task 1004731, core-move-seen.js): closing the hall's "Upgraded to core X" notice stores t… |
|
|
580
584
|
| GET | `/api/bongos/me/credits` | `any-builder` | — | GET /me/credits — the caller's own ledger. |
|
package/docs/architecture.md
CHANGED
|
@@ -163,11 +163,15 @@ tasks + kind text NOT NULL DEFAULT 'unclassified' CHECK IN (feature|bug|infra|
|
|
|
163
163
|
-- claim and is deliberately not counted (task 1003964)
|
|
164
164
|
+ scoping_confidence integer CHECK (1..5)
|
|
165
165
|
+ discipline text NOT NULL DEFAULT 'unclassified' (mig 014; renamed mig 086)
|
|
166
|
-
CHECK IN (
|
|
166
|
+
CHECK IN (artisan|artist|ui|engineer|ideator)
|
|
167
|
+
-- (core_296, task 1005141: engineer/ideator still
|
|
168
|
+
-- accepted for rollback, read as artisan/artist;
|
|
169
|
+
-- unclassified dropped by core_247)
|
|
167
170
|
-- orthogonal to kind; classifies builder
|
|
168
|
-
-- interest area (
|
|
171
|
+
-- interest area (artisan = code/infra/mechanics/bugs,
|
|
169
172
|
-- artist = pixel art/sprites/pipeline,
|
|
170
|
-
--
|
|
173
|
+
-- ideas = scoping/research/docs/narrative/lore,
|
|
174
|
+
-- the artist's since the ideator folded in)
|
|
171
175
|
claims + head_sha text -- captured at claim time for incidental-work scanner
|
|
172
176
|
builders + timezone text NOT NULL DEFAULT 'America/New_York'
|
|
173
177
|
|