28-cliente-http.md,逐块说明
bank-app 还没有 28-cliente-http.md。以下是 SKILL.md 所述该分文件包含的块。
## 1 · Operations
Per port method: dependency, remote call with the documentation link, idempotency and key source, read timeout and its origin, the domain outcomes
## 2 · Client
The client per dependency, the matrix row, the rejected ones, exemplars
## 3 · Engine and pool
Engine, pinned factory, pool sizes and their arithmetic, lease timeout, eviction, engine retry off
## 4 · Outbound authentication
Scheme per dependency, where each credential lives, the exemplar
## 5 · Retry and resilience
The retrying layer, attempts and backoff, breaker, bulkhead, fallback
## 6 · Project-wide setup
Each shared component with NEW / REUSE / CHANGE
## 7 · Configuration
Every property, its value, the environment variable behind each secret
## 8 · Declared dependencies
Coordinates, version empty when managed or read from maven-metadata.xml
## 9 · Contract test cases
Per port method, the mandatory cases with family, errorCode and attempts
## 10 · Requirements to other partials
Key, state, column, reconciliation pass, security impact — requirements only
## 11 · Deferred
Same shape as every partial's Deferred
## Design patterns
Each pattern adopted — step 13b. none when none
它读什么、写什么、拒绝什么
skill 自己的契约,取自 SKILL.md,保留原文。
Class
design — the territory is skill_classes.design in @.claude/schemas/extensions.json, and ArchHook.java guard enforces it. Writes inside the use case folder and nothing else; an adapter written under src/ is refused with exit 2.
Reads
docs/use-cases/UC-NNN-<slug>/00-use-case.md and 10-domain.md (mandatory — stops without the second), 30-rest.md and 32-security.md when present, earlier cases' 28-http-client.md, pom.xml (or the Gradle build), src/main/resources/application*.yml, the outbound wiring on disk, the active blueprint's packages.map, @.claude/rules/http-client.md, @.claude/rules/error-handling.md, @.claude/rules/api-rest.md, @.claude/rules/architecture-ddd.md, @.claude/rules/logging.md, @.claude/rules/observability.md, and references/. Reads Maven Central's maven-metadata.xml for an unmanaged dependency's version.
Writes
docs/use-cases/UC-NNN-<slug>/28-http-client.md. Nothing else.
Owns
each operation's client, timeouts, retry policy and failure table; the project's HTTP engine and pool; the retrying layer of each outbound call; breaker and bulkhead; the outbound authentication wiring; and the project-wide outbound setup.
Does not decide
the use case boundary or its External calls fact (00-use-case.md), the port, its domain types, the idempotency key field or the unknown-outcome state (10-domain.md), tables and columns (20-persistence.md), the reconciliation schedule (35-jobs.md), the inbound chain (32-security.md), or the test shape (40-tests.md). Does not write Java, pom.xml or application.yml — the executor does, from this partial. Doesn't touch .claude/rules/**. Does not design reactive (WebFlux) applications.
来源:SKILL.md § Contract(nerviz e4cae27)。
guard 如何处理它
design 是这个 skill 的类。ArchHook 在 skill 被调用时开启一个阶段,并按该类的领地检查每次写入。右侧文字是 hook 自己的输出。
design 类的 write_allow
- ✓
docs/use-cases/UC-*/** - ✓
docs/use-cases/BACKLOG.md src/**:迁移和类归执行器docker-compose.yml:另一个类的文件已批准的用例:其 spec 已冻结
拒绝以退出码 2 结束,消息回到模型。
PreToolUse Skill(http-client-architect) audit call exit 0 guard call exit 0 # a skill of another class replaces the phase # write_allow: docs/use-cases/UC-*/**, docs/use-cases/BACKLOG.md
PreToolUse Write(docs/use-cases/UC-005-record-kyc-verdict/28-cliente-http.md) guard write exit 0 PostToolUse audit file exit 0
PreToolUse Write(docker-compose.yml) guard write exit 2 ❌ `http-client-architect` is class `design` — docker-compose.yml is outside its territory. write_allow: docs/use-cases/UC-*/**, docs/use-cases/BACKLOG.md Put the content in the spec as a code block, or finish the run and invoke the skill that owns this path. If the path is legitimately this skill's, widen skill_classes.design in .claude/schemas/extensions.json — retrying will not help.
# UC-005-record-kyc-verdict-spec.md: status: approved PreToolUse Edit(docs/use-cases/UC-005-record-kyc-verdict/28-cliente-http.md) guard write exit 2 ❌ UC-005-record-kyc-verdict is approved — its specs are immutable. Record the change in the new use case's "Impact on approved use cases" section, and the one-line entry in UC-005-record-kyc-verdict/CHANGELOG.md, which stays writable.
它在轨道上的位置
每张卡片是 /new-feature 的一步;箭头带着一步交给下一步的分文件。虚线的步骤仅在用例需要时运行。
/new-feature orchestrator · opus/new-feature-implement 之后谁读这份分文件批准之后,/new-feature-implement 让执行器构建代码。spec 按引用整合,与分文件不一致时以 spec 为准;分文件按章节读取,用于细节。