Skip to content

Consolidate housekeeper runtime entrypoints#27

Open
nxs9bg24js-tech wants to merge 71 commits intomainfrom
codex/consolidate-housekeeper-entrypoints
Open

Consolidate housekeeper runtime entrypoints#27
nxs9bg24js-tech wants to merge 71 commits intomainfrom
codex/consolidate-housekeeper-entrypoints

Conversation

@nxs9bg24js-tech
Copy link
Copy Markdown
Collaborator

This cleanup consolidates the active housekeeper runtime path onto .

Changes:

  • tighten scope enforcement markers
  • keep as schema/documentation layer only
  • add guard coverage to ensure API/dependency wiring continues to use the mainline
  • document the cleanup and remaining schema follow-up

Validation:

  • ..................... [100%]
    21 passed in 4.92s

Non-blocking follow-up:

  • legacy naming in can be reduced or deprecated further later

T and others added 30 commits March 29, 2026 11:07
✅ 新增内容:
1. Self-Evolving Agent 自进化智能体(2,720 字)
2. DyTopo 动态拓扑网络革命(4,121 字)
3. 研究索引 README(1,973 字)

📊 核心发现:
- 🚨 80亿参数"绞杀"1200亿参数
- ✅ 突破 Scaling Law 铁律
- 🔄 静态群聊 → 自由交易集市

🎯 技术价值:
- 动态拓扑网络架构
- 上下文污染解决方案
- 自进化机制设计

📚 总字数:8,814 字
🔗 来源:YouTube 播放列表深度分析
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Yin and others added 30 commits April 1, 2026 02:06
- task_contract: add bidirectional HousekeeperTaskStatus mapping
- worker_registry: import worker_status_rank from unified worker_contract
  replacing inline status rank dict
- Add 11 new HousekeeperTaskStatus roundtrip tests

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…nd 2)

- Offline demo fixture with success/failure/review flows and demo runner script
- Fake Linux and Windows/Yingdao worker adapters for offline simulation
- Heartbeat/lease/timeout simulation and 10-category failure taxonomy
- Exhaustive illegal state transition test matrix for TaskStatus and RunStatus
- Five gate scenario tests and retry/fallback/needs_review rule tests
- Enhanced console: task filtering, worker metrics, run detail with logs/artifacts,
  and approval actions (approve/reject/retry/fallback)
- Add pytest-asyncio to requirements.lock for CI async test support
- Update CI workflow paths to include all new test and source files

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Acceptance test script: 30 consecutive runs with 5 fault types
  (timeout, crash, overreach, missing_artifacts, permission_denied)
- Weighted deterministic fault selection with ~25% success baseline
- Per-fault-type breakdown in console report
- JSON machine-readable report output (--json-report)
- Pytest wrapper (test_acceptance_harness.py) for CI integration
- Updated offline-demo.md with acceptance harness docs, console demo,
  run detail walkthrough, and review/retry/fallback decision logic
- Updated CI to include new test paths

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Linux housekeeper supervisor script and systemd-compatible runner
- dispatch_to_linux.sh for remote task dispatch
- WORKER_CONTRACT_SPEC.md documenting unified worker interface
- CLAUDE.md project instructions for AI-assisted development
- .env.linux.example template for Linux worker configuration
- Update Makefile with new targets
- Update README and linux-remote-worker docs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… checklist

- 5 acceptance gates (G1-G5): contract models, state machine legality,
  gate verdict correctness, 30-run harness, API availability
- 5 fail-fast conditions (F1-F5): lint/format, import integrity,
  state machine invariants, gate core rules, acceptance harness
- PR merge checklist: code quality, tests, contract sync, docs, architecture
- Demo-ready minimum standard (DR1-DR5): offline demos, console interaction,
  contract tests, CI green, docs complete

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…integration migration plan

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…cklist

- OFFLINE_CAPABILITY_AUDIT.md: 11 REAL / 8 OFFLINE-ONLY / 7 FAKE classification
- test_acceptance_gaps.py: 8 blind-spot test classes (concurrent dispatch,
  heartbeat timeout, cancel flow, orphan recovery, artifact validation,
  approval pre-check, gate after DriverResult, max-concurrent enforcement)
- test_worker_contract_compliance.py: 5 contract classes for worker
  certification (registration, heartbeat, lifecycle, gate, error classification)
- WORKER_ONBOARDING_CHECKLIST.md: checklist for certifying new workers
- CI paths updated with both new test files

475 tests passing (52 new).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…tput to unified contracts

Six bridge functions translate LinuxSupervisorConclusion/TaskSummaryRead/HeartbeatRead
into GateOutcome/GateCheck/RunStatus/WorkerHeartbeat/WorkerRegistration without modifying
any production service or unified contract model. 43 tests cover all 7 conclusions through
the full chain (summary → gate checks → verdict). CI paths and acceptance criteria updated.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…uction path

After run_once() returns a LinuxSupervisorTaskSummaryRead, the control plane
now calls bridge functions to produce GateOutcome, GateCheck[], RunStatus, and
GateVerdict. These are stored in result_payload["gate_evaluation"]. Task status
decision logic (summary.success → COMPLETED/FAILED) is unchanged — gate
evaluation is observational, proving real Linux paths are constrained by unified
contracts. 6 integration tests pass with real subprocess execution.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
8 integration tests proving that real Linux execution through
ControlPlaneService produces run_record in result_payload with unified
RunStatus/RunRecord compatible data. Tests cover SUCCEEDED, FAILED
(timeout, infra_error), NEEDS_REVIEW (unknown conclusion), field
consistency with summary, result_data bridge fields, and error_message
propagation. CI paths and production path changelog updated.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…te() LINUX_SUPERVISOR branch

After gate evaluation, call supervisor_summary_to_run_record() to produce a
BridgeRunRecord with unified RunStatus. Store as result_payload["run_record"]
with datetime fields serialized to ISO strings. Task status decision logic
unchanged. 8 integration tests pass.

queued_at/leased_at approximation: started_at from summary.started_at
(completed_at from summary.finished_at). No separate lease mechanism exists
in LinuxSupervisorService.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
asdict() on frozen dataclass preserves RunStatus enum in the 'status' field.
Add explicit .value serialization so result_payload["run_record"]["status"]
is always a plain string, consistent with gate_evaluation.run_status.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ACCEPTANCE_CRITERIA.md: Add G7 gate (9 items) for production path
integration — gate evaluation, run lifecycle, field consistency.

WORKER_GAP_ANALYSIS.md: Mark gate/run as wired, add wiring status table
showing 5/7 bridge functions connected, 2 (heartbeat/registration) still
unwired. Document queued_at/leased_at approximation limitations.

No production code changed.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Update docs to reflect Codex's two-commit heartbeat wiring (86de697 + 6307136):
both get_worker_heartbeat() and list_workers() now use the bridge function
and return consistent unified WorkerStatus.

- ACCEPTANCE_CRITERIA.md: add G8 gate (7 conditions, all implemented)
- WORKER_GAP_ANALYSIS.md: add Section 6 heartbeat audit, mark WorkerHeartbeat
  as fully wired, clarify WorkerRegistration remains unwired
- PRODUCTION_PATH_CHANGELOG.md: add heartbeat integration changelog with
  before/after, test inventory, and known gaps

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Prepare acceptance criteria and gap analysis for upcoming
WorkerRegistration wiring. No production code changes.

- ACCEPTANCE_CRITERIA.md: add G9 gate (8 conditions) for
  WorkerRegistration production-path integration
- WORKER_GAP_ANALYSIS.md: add Section 7 audit covering
  legacy vs unified type gap, bridge function metadata loss,
  minimal wiring point, field mapping, and 5 suggested tests
- PRODUCTION_PATH_CHANGELOG.md: no changes needed (already
  accurate for heartbeat wiring only)

Key findings:
- WorkerRegistrationRead (8 fields) is a strict subset of
  WorkerRegistration (14 fields) — 6 unified fields missing
- Bridge function discards all metadata from process_status
- Codex has started implementation (uncommitted) with 5 tests

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Install gstack as a project-local skill set and register available
slash commands in CLAUDE.md. Use /browse for all web browsing tasks.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant