Loading...
Loading...
When a task is blocked by missing or unverified information (an undocumented protocol, an unknown API shape, a value only real hardware/prod can confirm), build everything that does NOT depend on the unknown right now, and quarantine the unknown behind a single adapter boundary — best-guess defaults + a verified flag + a conformance/adapt kit — so adapting later means editing one file, not rewriting the project. Trigger when the user says "làm những gì có thể trước", "build what we can now", "wrap the unknowns", "isolate/quarantine the unknown parts", "don't block on missing info", "adapter so we can swap later", "ready to adapt", or invokes /build-now-adapt-later. Also applies whenever a spec has ⚠️ "to be verified" items but most of the work doesn't actually depend on them.
npx skill4agent add rheinmir/setup build-now-adapt-laterEverything that depends on a stable domain contract is built and tested now. Everything that depends on an unknown lives behind one adapter, defaulted to a documented best-guess, flagged, and swappable in a single edit.verified:false
unknowns (⚠️ + source-of-truth) → contract ổn định (không ⚠️) → quarantine (1 config + 1 adapter, verified:false) → core build đủ trên contract → mock cùng contract → Adapt-kit (checklist + conformance) → guard boundary| Field | Required? | Ý nghĩa | |
|---|---|---|---|
| In | task + spec có mục ⚠️ "to be verified" | có | phần lớn việc không phụ thuộc ẩn số |
| In | tài liệu best-guess cho từng ẩn số | không | thiếu → default vẫn phải ghi nguồn + fail-safe |
| Out | contract (domain types/interface) | có | không chứa giá trị ⚠️ nào |
| Out | config + adapter quarantine | có | mọi ẩn số, |
| Out | core + mock chạy E2E hôm nay | có | build + test trên contract |
| Out | | có | gate trước khi flip |
| Out | handoff | có | cái đã build+verify, cái đang đoán, đường một-file để chốt từng ⚠️ |
verified:falseverified:false| Step | Type | Inputs | Action | Outputs/exit | Failure/next |
|---|---|---|---|---|---|
| W01 | judgment | spec | Enumerate the unknowns, tag ⚠️ + source-of-truth | danh sách ẩn số | tra được rẻ → không phải ẩn số |
| W02 | judgment | ẩn số | Define the stable boundary (contract) | contract không ⚠️ | contract dính ⚠️ → làm lại |
| W03 | effect | ẩn số | Quarantine: 1 config + 1 adapter, best-guess + | config + adapter | — |
| W04 | effect | contract | Build everything above the boundary — fully | core đã test | import giá trị quarantine → sửa |
| W05 | effect | contract + adapter | Mock/stub cùng contract | E2E offline | — |
| W06 | effect | adapter | Ship the Adapt-kit: | kit | — |
| W07 | deterministic | codebase | Guard the boundary (lint/review note) | không rò | rò → sửa trước khi đi tiếp |
SemanticCommandTelemetryPaymentRequest// ASSUMPTION (source / not verified)verified: falseADAPT-CHECKLISTverified:true| ID | Kind | Guard | Hành vi | Skip / failure | Rejoin |
|---|---|---|---|---|---|
| B01 | recovery | W07 thấy một giá trị đoán ở hai chỗ | dời về adapter/config, xoá bản thứ hai | — | W07 |
| B02 | conditional_required | project có | viết draft report (mục Delivery) | không có | kết thúc |
verified:trueSemanticCommandTelemetryprotocol.configmotionsdk-codecverified:falsecontract/ # stable domain types — NO unknown values (built now, tested now)
└ model.* # intent-level: commands, telemetry, requests
core/ # UI / logic / transport / safety on the contract (built now, tested now)
adapter/
├ config.* # ⚠️ ALL unknown constants + verified:false (quarantine)
└ codec.* # ⚠️ encode/decode against the unknown (quarantine, swap 1 file)
mock/ # speaks the same adapter → E2E offline + conformance harness
ADAPT-CHECKLIST.* # 5-step finalize procedure when the unknown is known
conformance.* # vectors that gate verified:trueSemanticCommandTelemetryprotocol.configmotionsdk-codecllmwiki/wiki/draft/orca/150626-lite3-adapter-isolation.mdllmwiki/llmwiki/wiki/draft/orca/DDMMYY-<ten>.mdDDMMYY<ten>---
type: draft
title: "DDMMYY-<ten>"
status: proposed
tags: [<skill-name>, output-report]
timestamp: YYYY-MM-DD
---
# DDMMYY-<ten>
**Type:** draft
**Status:** proposed
**Tags:** build-now-adapt-later, output-report
**Proposed:** YYYY-MM-DD
## What
<One sentence — what was built now vs what was quarantined>
## Boundary
- Contract: <the stable domain types/interface>
- Quarantine: <config + adapter files holding the ⚠️ unknowns>
## Unknowns (⚠️) pending verification
| Unknown | Best-guess source | Finalize by |
|---------|-------------------|-------------|
## Files
| File | Action |
|------|--------|
## Notes
- Invoked via: `/build-now-adapt-later` skill
## Origin
- **Draft:** `wiki/draft/orca/DDMMYY-<ten>.md`
- **Commit:** _(filled by verify-before-commit)_
- **Date promoted:** _(filled by verify-before-commit)_llmwiki/wiki/index.mdllmwiki/wiki/log.md