dave and Claude Opus 4.6
5696d77922
debug: add PTY spawn diagnostics for Session: None investigation
...
When an agent CLI exits without creating a session, we now log:
- Number of prior sessions and total session log bytes
- Child process exit status (exit code or signal)
- Explicit SESSION NONE warning with context
This will help diagnose whether the fatal runtime error
(output.write assertion) correlates with accumulated sessions,
budget exhaustion, or something else.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-11 11:21:06 +00:00
dave and Claude Opus 4.6
44ef477a01
fix: skip rate limit timer for short blocks (≤10 min) — CLI handles internally
...
The rate limit auto-scheduler was creating timers for every hard block,
including short 5-minute throttles. This caused a death loop: agent hits
rate limit, timer set, agent exits, pipeline restarts before timer fires,
new agent dies instantly (Session: None) because API is still throttled.
Short rate limits are handled naturally by the CLI's internal wait. Only
schedule timers for long session-level blocks (>10 min) where the CLI
will exit and needs external restart.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-11 10:52:14 +00:00
dave
fc24da82ae
debug: add logging to sync_crdt_stages_from_db to diagnose stale backlog
2026-04-10 20:33:04 +00:00
dave and Claude Opus 4.6
bae3619723
fix: startup migration syncs stale CRDT stages from pipeline_items DB
...
510 stories had stale 1_backlog stages in the CRDT because they were
imported during the filesystem→CRDT migration and then moved forward
via filesystem-only moves that never wrote CRDT ops. This made done
stories appear as ghost entries in the backlog.
On startup, reads the authoritative stage from pipeline_items and
corrects any CRDT entries that disagree.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-10 19:58:17 +00:00
dave and Claude Opus 4.6
ea36160667
fix: read_all_items must use deduplicated index, not raw CRDT entries
...
read_all_items was iterating all CRDT entries including stale duplicates
from earlier stage writes. A story written multiple times (backlog →
current → done) would appear in the output multiple times with different
stages, causing ghost entries in the pipeline status and backlog views.
Now iterates only the index (story_id → visible_index map) which
represents the latest-wins deduplicated view of each story.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-10 19:32:55 +00:00
dave
2e0ed98d42
huskies: merge 480_story_cryptographic_node_auth_for_distributed_mesh
2026-04-10 19:14:21 +00:00
dave
40893a8cb1
huskies: merge 535_bug_chat_status_number_and_mcp_tool_status_still_read_from_filesystem_broken_after_530
2026-04-10 19:01:31 +00:00
dave
bc2b1e244c
huskies: merge 498_bug_stale_merge_job_lock_prevents_new_merges_after_agent_dies
2026-04-10 18:55:05 +00:00
dave
6f7a0c7708
huskies: merge 479_story_build_agent_mode_with_crdt_based_work_claiming
2026-04-10 18:50:30 +00:00
dave
91be0ac47f
huskies: merge 534_refactor_unify_timer_tick_watchdog_and_watcher_sweep_into_a_single_1_second_tick_loop
2026-04-10 17:38:42 +00:00
dave
808935b446
huskies: merge 528_story_crdt_based_peer_discovery_via_node_presence_entries
2026-04-10 17:03:05 +00:00
dave
4c8fe910a7
huskies: merge 533_story_crdt_based_done_archived_sweep_to_replace_filesystem_based_watcher_sweep
2026-04-10 16:58:50 +00:00
dave
8f34c521fb
huskies: merge 508_story_configurable_rendezvous_peer_in_project_toml_with_outbound_crdt_sync_connect
2026-04-10 16:44:50 +00:00
dave
a59f4fc1a5
huskies: merge 532_story_remove_startup_reconcile_pass_and_drift_notification_no_filesystem_to_reconcile_against
2026-04-10 16:40:56 +00:00
dave
b88857c2e4
huskies: merge 507_story_apply_inbound_signedops_with_causal_order_queue_for_partition_recovery
2026-04-10 16:13:07 +00:00
dave
1ca9bc1bfd
huskies: merge 506_story_websocket_sync_endpoint_that_broadcasts_local_signedops_to_connected_peers
2026-04-10 15:52:49 +00:00
dave
73890c98fa
huskies: merge 505_story_signedop_wire_codec_for_crdt_sync_between_nodes
2026-04-10 15:35:10 +00:00
dave
bfede09fe6
huskies: merge 529_bug_stale_mergemaster_advance_moves_done_stories_back_to_merge_zombie_merge_loop
2026-04-10 15:20:34 +00:00
dave
11d19d8902
huskies: merge 530_story_eliminate_filesystem_markdown_shadows_entirely_crdt_db_is_the_only_story_store
2026-04-10 14:59:58 +00:00
dave
1dd675796b
huskies: merge 531_story_mcp_tool_to_read_agent_session_logs_from_disk_not_just_live_stream
2026-04-10 13:08:51 +00:00
dave
31388da609
huskies: merge 517_story_remove_filesystem_shadow_fallback_paths_from_lifecycle_rs_finish_the_migration_to_crdt_only
2026-04-10 13:00:25 +00:00
dave
fe405e81c6
huskies: merge 527_story_remove_rate_limit_hard_block_bot_notifications_from_matrix_chat
2026-04-10 11:27:36 +00:00
dave
7e5b9839e8
huskies: merge 523_refactor_introduce_script_test_script_lint_script_build_and_migrate_agent_prompts_off_tech_specific_commands
2026-04-10 11:22:51 +00:00
dave
2a24a4cc85
huskies: merge 522_story_migrate_status_command_pipeline_view_from_filesystem_to_pipeline_state_read_all_typed
2026-04-10 10:37:17 +00:00
dave
6310c8bf49
huskies: merge 518_story_apply_and_persist_should_log_when_persist_tx_send_fails_instead_of_silently_dropping_the_op
2026-04-10 10:33:01 +00:00
dave
61ae30873f
huskies: merge 516_story_update_story_description_should_create_the_description_section_if_it_doesn_t_exist_instead_of_erroring
2026-04-10 10:28:53 +00:00
dave
f015fe5a1d
huskies: merge 515_story_add_a_debug_mcp_tool_to_dump_the_in_memory_crdt_state_for_inspection
2026-04-10 10:24:30 +00:00
dave
c6b6be872b
huskies: merge 509_bug_create_story_silently_drops_description_and_any_other_unknown_parameters_with_no_error
2026-04-10 10:20:13 +00:00
dave
5377eeae5b
huskies: merge 513_story_startup_reconcile_pass_that_detects_drift_between_crdt_pipeline_items_and_filesystem_shadows
2026-04-10 10:16:45 +00:00
dave and Claude Sonnet 4.6
d1b845fd2e
fix: move_item must not overwrite advanced CRDT stage when missing_ok=true (bug 524)
...
When a story is found in the CRDT but not in the expected source stages,
and missing_ok is true, return Ok(None) instead of proceeding with the move.
This prevents promote_ready_backlog_stories from demoting a story that has
already advanced to merge/done via a stale filesystem shadow in 1_backlog.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-10 00:21:39 +00:00
dave
0de9200d48
huskies: merge 512_story_migrate_chat_commands_from_filesystem_lookup_to_crdt_db
2026-04-09 23:03:58 +00:00
dave and Claude Opus 4.6
c324452b38
fix: commit uncommitted native JSON type changes on master
...
These changes (HashMap<String, String> → HashMap<String, Value> for front matter,
json_value_to_yaml_scalar, and oneOf schema for front_matter) were left uncommitted
on master after a previous merge, blocking the cherry-pick step of story 509's merge.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-09 22:35:52 +00:00
dave
d3ee850f37
huskies: merge 500_story_remove_duplicate_pty_debug_log_lines
2026-04-09 22:16:03 +00:00
dave
cbe016d7a2
huskies: merge 519_story_mergemaster_should_detect_no_commits_ahead_of_master_and_fail_loudly_instead_of_exiting_silently
2026-04-09 22:11:09 +00:00
dave
6f6d37e955
huskies: merge 514_story_delete_story_should_do_a_full_cleanup_crdt_op_db_row_filesystem_shadow_worktree_pending_timers
2026-04-09 22:05:18 +00:00
dave
84717b04bd
huskies: merge 520_story_typed_pipeline_state_machine_in_rust_foundation_replaces_stringly_typed_crdt_views_with_strict_enums_subsumes_436
2026-04-09 21:27:48 +00:00
dave
41515e3b8f
huskies: merge 503_bug_depends_on_pointing_at_an_archived_story_is_silently_treated_as_deps_met_surprising_users
2026-04-09 18:31:29 +00:00
dave and Timmy
59fbb56252
chore: ignore pipeline.db backup files in .huskies/.gitignore
...
The pre-478-surgery backup file was left untracked, causing the
acceptance gate to fail. Add pipeline.db.bak* pattern to ignore
such backup files.
2026-04-09 19:16:27 +01:00
dave
1ffdd75475
huskies: accept 499_story_web_ui_shows_project_name_in_browser_tab_with_huskies_favicon
2026-04-08 05:04:16 +00:00
dave
46a254f80c
huskies: accept 496_bug_hard_rate_limit_without_reset_at_never_auto_schedules_retry
2026-04-08 04:05:13 +00:00
dave
1baa83c1fd
huskies: accept 491_story_watcher_fires_on_crdt_state_transitions_instead_of_filesystem_events
2026-04-08 04:03:12 +00:00
dave
870f49509d
huskies: done 492_story_remove_filesystem_pipeline_state_and_store_story_content_in_database
2026-04-08 03:07:36 +00:00
dave
8fd49d563e
huskies: merge 492_story_remove_filesystem_pipeline_state_and_store_story_content_in_database
2026-04-08 03:07:33 +00:00
dave
f43d30bdae
huskies: accept 497_bug_dependency_promotion_loop_missing_stories_with_met_deps_never_move_from_backlog_to_current
2026-04-08 01:33:33 +00:00
dave
6a56fa5623
huskies: done 497_bug_dependency_promotion_loop_missing_stories_with_met_deps_never_move_from_backlog_to_current
2026-04-08 01:32:29 +00:00
dave
eba933e21e
huskies: merge 497_bug_dependency_promotion_loop_missing_stories_with_met_deps_never_move_from_backlog_to_current
2026-04-08 01:32:26 +00:00
dave
bc429edf49
huskies: done 491_story_watcher_fires_on_crdt_state_transitions_instead_of_filesystem_events
2026-04-08 01:18:33 +00:00
dave
5c2769dd7d
huskies: merge 491_story_watcher_fires_on_crdt_state_transitions_instead_of_filesystem_events
2026-04-08 01:18:30 +00:00
dave
dbdcf334aa
huskies: done 499_story_web_ui_shows_project_name_in_browser_tab_with_huskies_favicon
2026-04-08 01:07:35 +00:00
dave
09a89fdb6b
huskies: merge 499_story_web_ui_shows_project_name_in_browser_tab_with_huskies_favicon
2026-04-08 01:07:32 +00:00
dave
0fa0b60feb
huskies: create 491_story_watcher_fires_on_crdt_state_transitions_instead_of_filesystem_events
2026-04-08 00:55:02 +00:00
dave
e814f5dd3c
huskies: delete 488_story_web_ui_shows_project_name_in_browser_tab_with_huskies_favicon
2026-04-08 00:52:31 +00:00
dave
ce9acbdeab
huskies: create 499_story_web_ui_shows_project_name_in_browser_tab_with_huskies_favicon
2026-04-08 00:52:01 +00:00
dave
ea8e12190b
huskies: done 496_bug_hard_rate_limit_without_reset_at_never_auto_schedules_retry
2026-04-08 00:04:28 +00:00
dave
dea410149a
huskies: merge 496_bug_hard_rate_limit_without_reset_at_never_auto_schedules_retry
2026-04-08 00:04:25 +00:00
dave
f8bebd0fdf
huskies: create 498_bug_stale_merge_job_lock_prevents_new_merges_after_agent_dies
2026-04-07 23:49:27 +00:00
dave and Claude Opus 4.6
753f7f1c92
fix: comment out premature db::crdt references that broke build
...
The 490 merge introduced references to a db::crdt module that doesn't
exist yet (it's part of story 491). Commented out with TODO(491)
markers so master compiles. The crdt_state.rs module from 490 is
intact — these are just the call sites that will be wired up when
491 lands.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-07 23:49:11 +00:00
dave
c4e70db85f
huskies: accept 490_story_crdt_state_layer_backed_by_sqlite
2026-04-07 18:54:36 +00:00
dave
c06a01facb
huskies: accept 495_bug_status_traffic_light_dots_use_unsupported_html_colouring_switch_to_emoji
2026-04-07 18:41:32 +00:00
dave
0072e44e0f
huskies: accept 494_story_mcp_tool_to_run_project_test_suite
2026-04-07 18:39:31 +00:00
dave
8372b77e07
huskies: accept 493_bug_story_dependency_chain_not_firing_due_to_front_matter_format_issues
2026-04-07 17:16:27 +00:00
dave
8be4e73d10
huskies: accept 489_story_sqlite_shadow_write_for_pipeline_state_via_sqlx
2026-04-07 17:10:27 +00:00
dave and Claude Opus 4.6
2811c27a2a
scope script/test to huskies crate only
...
Skip compiling bft-json-crdt test harness in gate checks. The CRDT
crate's tests are stable and not being modified — no need to compile
and run them on every story.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-07 16:22:19 +00:00
dave and Claude Opus 4.6
15a52d6d38
ignore kleppmann_trace test — 10+ min, 12GB RAM
...
Marked #[ignore] so cargo test skips it by default. Run manually with
--ignored flag when needed for benchmarking.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-07 16:15:38 +00:00
dave and Claude Opus 4.6
c73153dd4e
huskies: merge 490_story_crdt_state_layer_backed_by_sqlite
...
CRDT state layer backed by SQLite for pipeline state. Integrates the
BFT JSON CRDT crate with SQLite persistence via sqlx. Ops are persisted
and replayed on startup. Node identity via Ed25519 keypair.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-07 16:12:19 +00:00
dave
c621bca7b1
huskies: done 495_bug_status_traffic_light_dots_use_unsupported_html_colouring_switch_to_emoji
2026-04-07 15:55:04 +00:00
dave
5a9601dd3c
huskies: merge 495_bug_status_traffic_light_dots_use_unsupported_html_colouring_switch_to_emoji
2026-04-07 15:55:01 +00:00
dave
b05ddedb41
huskies: create 497_bug_dependency_promotion_loop_missing_stories_with_met_deps_never_move_from_backlog_to_current
2026-04-07 15:52:48 +00:00
dave
0e2d9fe1cd
huskies: accept 487_story_display_story_dependencies_in_web_ui_and_chat_commands
2026-04-07 15:47:55 +00:00
dave
a126929f00
huskies: done 490_story_crdt_state_layer_backed_by_sqlite
2026-04-07 15:47:50 +00:00
dave and Claude Opus 4.6
7eecfeb56a
bump gate timeout from 600s to 1200s
...
Merge worktree cold-compiles the BFT CRDT crate + all deps which
exceeds 600s. 1200s gives enough headroom.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-07 15:47:44 +00:00
dave
c7cf1e8335
huskies: accept 488_story_web_ui_shows_project_name_in_browser_tab_with_huskies_favicon
2026-04-07 15:35:57 +00:00
dave
61a8f0edca
huskies: accept 481_bug_scaffold_does_not_copy_agent_definitions_from_project_toml_to_new_projects
2026-04-07 15:11:57 +00:00
dave
fa5885154b
huskies: create 496_bug_hard_rate_limit_without_reset_at_never_auto_schedules_retry
2026-04-07 14:57:20 +00:00
dave
0adc2a494e
huskies: done 494_story_mcp_tool_to_run_project_test_suite
2026-04-07 14:43:44 +00:00
dave
19768c23d5
huskies: merge 494_story_mcp_tool_to_run_project_test_suite
2026-04-07 14:43:41 +00:00
dave
1b8c391836
huskies: create 495_bug_status_traffic_light_dots_use_unsupported_html_colouring_switch_to_emoji
2026-04-07 14:41:00 +00:00
dave
1acb8123ae
huskies: create 494_story_mcp_tool_to_run_project_test_suite
2026-04-07 14:16:19 +00:00
dave
132d61cb68
huskies: done 488_story_web_ui_shows_project_name_in_browser_tab_with_huskies_favicon
2026-04-07 13:36:46 +00:00
dave
4476c57444
huskies: merge 488_story_web_ui_shows_project_name_in_browser_tab_with_huskies_favicon
2026-04-07 13:36:43 +00:00
dave
c64577eff0
huskies: done 493_bug_story_dependency_chain_not_firing_due_to_front_matter_format_issues
2026-04-07 13:32:42 +00:00
dave
a3a3942b0a
huskies: merge 493_bug_story_dependency_chain_not_firing_due_to_front_matter_format_issues
2026-04-07 13:32:38 +00:00
dave
d158b05a1a
huskies: create 480_story_cryptographic_node_auth_for_distributed_mesh
2026-04-07 13:19:38 +00:00
dave
9fc68e1379
huskies: create 479_story_build_agent_mode_with_crdt_based_work_claiming
2026-04-07 13:19:27 +00:00
dave
fcc9d35c33
huskies: create 478_story_websocket_sync_layer_for_crdt_state_between_nodes
2026-04-07 13:19:11 +00:00
dave
8ae5dad649
huskies: create 492_story_remove_filesystem_pipeline_state_and_store_story_content_in_database
2026-04-07 13:18:48 +00:00
dave
9b36252d1d
huskies: create 491_story_watcher_fires_on_crdt_state_transitions_instead_of_filesystem_events
2026-04-07 13:18:36 +00:00
dave
88c1d8b44f
huskies: create 490_story_crdt_state_layer_backed_by_sqlite
2026-04-07 13:18:24 +00:00
dave
9a255086c4
huskies: create 493_bug_story_dependency_chain_not_firing_due_to_front_matter_format_issues
2026-04-07 13:16:26 +00:00
dave
4f6d4a1e2e
huskies: done 489_story_sqlite_shadow_write_for_pipeline_state_via_sqlx
2026-04-07 13:13:20 +00:00
dave
f1ef31d1ee
huskies: merge 489_story_sqlite_shadow_write_for_pipeline_state_via_sqlx
2026-04-07 13:13:17 +00:00
dave
0c9e120ba2
huskies: create 480_story_cryptographic_node_auth_for_distributed_mesh
2026-04-07 12:33:35 +00:00
dave
afdb604255
huskies: create 479_story_build_agent_mode_with_crdt_based_work_claiming
2026-04-07 12:33:28 +00:00
dave
d5fcbb19f0
huskies: create 478_story_websocket_sync_layer_for_crdt_state_between_nodes
2026-04-07 12:33:21 +00:00
dave
4c51258a17
huskies: create 492_story_remove_filesystem_pipeline_state_and_store_story_content_in_database
2026-04-07 12:33:14 +00:00
dave
e0b51e8041
huskies: create 491_story_watcher_fires_on_crdt_state_transitions_instead_of_filesystem_events
2026-04-07 12:33:05 +00:00
dave
5e025c6c20
huskies: create 490_story_crdt_state_layer_backed_by_sqlite
2026-04-07 12:32:57 +00:00
dave
78f79e9081
huskies: create 489_story_sqlite_shadow_write_for_pipeline_state_via_sqlx
2026-04-07 12:32:48 +00:00
dave
d2db973daa
huskies: done 487_story_display_story_dependencies_in_web_ui_and_chat_commands
2026-04-07 11:50:01 +00:00
dave
4e082009c2
huskies: merge 487_story_display_story_dependencies_in_web_ui_and_chat_commands
2026-04-07 11:49:57 +00:00