boardx / boardx/workspacex

[H3A-019] Domain readiness gate

Open
#772 0 comments 0 reactions 0 assignees View on GitHub
backlog
Dominant language
TypeScript
Stars
0
Forks
0
Avg merge
1h 7m
Merged PRs (30d)
969

Description

## 完成契约原文(docs/proposals/PROP-HARNESS-AGENT-001.checklist.md)

> H3A-019 | P0 | ⬜ 未开始 | Domain readiness gate | 011–015 | Role/Skill/数据源缺失时 Task Assignment 保持 UNKNOWN/blocked

支撑原文(PROP-HARNESS-AGENT-001.md §6.4):

> 当目标 Domain 缺少 active Domain Role、active Domain Skill 或健康数据源时,Root Orchestrator 将 Task Assignment 保持在 `blocked/UNKNOWN` 并请求修复,不能静默退化为 Root 自己实现。

## 依赖

- H3A-010/011(`.harness/scripts/lib/domain-model.ts` + `.harness/domains/registry.yaml`)
- H3A-012/013/014/015(`.harness/scripts/lib/domain-skill-model.ts` + `.harness/scripts/lib/domain-skill-gates.ts`)
- H3A-030/031(`.harness/scripts/lib/task-assignment-model.ts` + `.harness/scripts/lib/task-assignment-root-domain-gate.ts`,跨表 gate 先例)

## 设计

跨表 gate:输入 Domain Registry + Domain Skill 实例 + Task Assignment 实例,输出对每个 Task Assignment 判定「ready」或「not ready(附具体缺失原因)」。

三层判定,逐条复用既有结论而不是重新造轮子:
1. **Role 缺失**:Domain 的 `owner` 必须真实存在于已登记身份集合——同 H3A-022a(`domain-orchestrator-binding.ts` `checkDomainOwnerIdentity`)owner 为 null / owner 是未知身份两种情况的判定条件。
2. **Skill 缺失**:Domain 应绑定至少一个 `status:active` 的 Domain Skill 实例——同 H3A-013(`domain-skill-gates.ts` `findActiveGateViolations`)「缺失 active Skill」WARN 的判定条件。本条目在此基础上往前一步:一个 Task Assignment 若指向这样的 Domain,该 Task Assignment 本身要被标记为未就绪。
3. **数据源缺失**:Domain 的 `contracts`/`verification` 字段均为空数组时视为「没有可执行的验证锚点」。Proposal §6.4 原文只写「健康数据源」,没有给出机器可判定的精确定义——本条目对该词的解释选择会在实现里如实标注,不是逐字定义。

新增文件:`.harness/scripts/lib/domain-readiness-gate.ts`(纯函数)+ 并入 `.harness/scripts/task-assignment-doctor.ts`(IO)。

今天 `.harness/tasks/` 目录 0 个真实 Task Assignment 实例(同 H3A-030/031 落地时的先例)——本 gate 今天不会对任何真实实例产生 finding,如实说明「没有输入数据可判定」,靠 fixture 单测 + 现场反证证明 gate 真的会触发。

## 免责声明

我(coord-architecture)没有合并权限。本 PR 需要独立 reviewer 按 exact SHA review,我不会自己合并。

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with PROP-HARNESS-AGENT-001 §6.4 and the existing models and gates in .harness/scripts/lib/domain-model.ts, domain-skill-model.ts, domain-skill-gates.ts, and task-assignment-root-domain-gate.ts. Add fixture unit tests for missing roles, active skills, and verification anchors, then integrate the pure gate into .harness/scripts/task-assignment-doctor.ts. Done means the gate reports concrete readiness failures and honestly reports that no real task assignments are available.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.