WS0 — sea-haven-claude-plugin/ scaffold:
- CLAUDE.md: Sea Haven engineering context (pipeline overview, rules,
/new-task + /delegate usage, available phases)
- settings.template.json: UserPromptSubmit hook wiring template
- hooks/user_prompt_submit.py: standalone script (WS4)
WS2 — SlackListener /new-task intake:
- Add NewTaskCallback type alias (Callable[[str, str], str])
- Add new_task_callback param to SlackListener.__init__
- _is_new_task_command() helper for slash_commands+/new-task detection
- _handle_new_task_command() method: authorized-only, calls callback,
exception-safe (listen loop stays alive on callback errors)
- handle_event() routes /new-task BEFORE the answer path (post-AUTHZ-01)
WS4 — UserPromptSubmit auto-delegate hook:
- /delegate <text> and DELEGATE: <text> prefixes trigger delegation
- Calls POST /tasks on the agent-team HTTP API (WS1)
- Blocks the Claude Code prompt; shows thread_id + next-steps message
- Graceful degradation: missing token, HTTP error, network error all
produce a block with a human-readable reason
- run() is a pure function for testability (no stdin/stdout in tests)
Tests: 22 new tests in test_ws0_ws2_ws4_plugin_slack_hook.py.
Full suite: 1066 passed. ruff clean.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QYp761G9HojkmLqLZrASVi
|
||
|---|---|---|
| .. | ||
| sim | ||
| __init__.py | ||
| conftest.py | ||
| test_apply_verify_workflow_hardening.py | ||
| test_billing.py | ||
| test_build_verify_subgraph.py | ||
| test_builders.py | ||
| test_builders_llm.py | ||
| test_checker_intake.py | ||
| test_ci_fetcher.py | ||
| test_ci_gate.py | ||
| test_ci_gate_workflow.py | ||
| test_clarifier.py | ||
| test_clarifier_llm.py | ||
| test_claude_code_adapter.py | ||
| test_claude_code_live.py | ||
| test_coordinator.py | ||
| test_deadline_timer.py | ||
| test_dispatcher.py | ||
| test_fixer.py | ||
| test_github_adapter.py | ||
| test_github_intake.py | ||
| test_github_live.py | ||
| test_graph.py | ||
| test_invoker.py | ||
| test_ledger.py | ||
| test_operator_cli.py | ||
| test_planner.py | ||
| test_recovery.py | ||
| test_responder.py | ||
| test_resume_worker.py | ||
| test_review_loop.py | ||
| test_review_loop_llm.py | ||
| test_run_team.py | ||
| test_schema.py | ||
| test_slack_adapter.py | ||
| test_slack_listener.py | ||
| test_slack_live.py | ||
| test_state_store.py | ||
| test_task_model.py | ||
| test_transport_base.py | ||
| test_verifier.py | ||
| test_verifier_llm.py | ||
| test_ws0_ws2_ws4_plugin_slack_hook.py | ||