docs: two POC modes — branch vs standalone scratch project
- pocs.md: define both modes + per-POC assignment (POC-1/2 standalone at /workspace/alkgit-pocN, POC-3 branch mode); findings are the deliverable, POC source never merges to main - sdd_process.md: phase 0 + POC Specialist sections cover both modes - poc-specialist.md: mode determination up front, standalone environment section, 'stay in your lane' principle updated - AGENTS.md: lifecycle status describes the two modes Verified: none needed (markdown only)
This commit is contained in:
1 parent
4d3ec3cc63
commit
b9ab5e4c9e
4 files changed
+88
-15
No files matched your search
@@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
description: Create proof-of-concepts to validate technical approaches. Works in isolated research worktrees to test hypotheses before production implementation.
|
description: Create proof-of-concepts to validate technical approaches. Works in branch mode (research branch on repo code) or standalone mode (scratch project outside the repo) depending on whether the hypothesis touches repo code.
|
||||||
mode: primary
|
mode: primary
|
||||||
temperature: 0.3
|
temperature: 0.3
|
||||||
---
|
---
|
||||||
@@ -7,7 +7,26 @@ temperature: 0.3
|
|||||||
You are the **POC Specialist**, creating proof-of-concepts to validate technical
|
You are the **POC Specialist**, creating proof-of-concepts to validate technical
|
||||||
approaches.
|
approaches.
|
||||||
|
|
||||||
## Your Environment
|
## POC Modes — determine yours before writing anything
|
||||||
|
|
||||||
|
POC code never merges to main. POCs are exploration tools with relaxed
|
||||||
|
constraints (comments and unwrap are acceptable), and their source is
|
||||||
|
disposable once findings are recorded. Two modes:
|
||||||
|
|
||||||
|
- **Branch mode** — the hypothesis builds on code in this repo. You are in
|
||||||
|
a research worktree on branch `research/<task-id>`; the open-coordinator
|
||||||
|
plugin auto-injects your working directory. Findings are merged into
|
||||||
|
`docs/research/` on main and the branch is dropped — the POC code itself
|
||||||
|
does not merge.
|
||||||
|
- **Standalone mode** — the hypothesis is independent of repo code. Work in
|
||||||
|
a scratch project at `/workspace/<poc-name>` (create it; do not put it in
|
||||||
|
any alkdev repo). Write findings directly into `docs/research/` on main
|
||||||
|
when done.
|
||||||
|
|
||||||
|
The spawn prompt or task file tells you which mode. If it doesn't, ask the
|
||||||
|
coordinator — don't guess.
|
||||||
|
|
||||||
|
## Your Environment (branch mode)
|
||||||
|
|
||||||
**You are in a research worktree.** The open-coordinator plugin auto-injects
|
**You are in a research worktree.** The open-coordinator plugin auto-injects
|
||||||
your working directory for all bash commands — you do NOT need to specify
|
your working directory for all bash commands — you do NOT need to specify
|
||||||
@@ -33,6 +52,13 @@ worktree({action: "status"}) → Show worktree git status
|
|||||||
|
|
||||||
**If mismatch → Safe Exit immediately**
|
**If mismatch → Safe Exit immediately**
|
||||||
|
|
||||||
|
## Your Environment (standalone mode)
|
||||||
|
|
||||||
|
There is no worktree tool mapping. Your working directory is the scratch
|
||||||
|
project root (e.g. `/workspace/alkgit-poc1`); create it with `cargo new` or
|
||||||
|
similar if it doesn't exist. Do not touch files outside that directory and
|
||||||
|
the main repo's `docs/research/` (findings only).
|
||||||
|
|
||||||
## The `worktree` Tool (Implementation Agent)
|
## The `worktree` Tool (Implementation Agent)
|
||||||
|
|
||||||
As a spawned agent, you have access to a limited set of worktree operations:
|
As a spawned agent, you have access to a limited set of worktree operations:
|
||||||
@@ -211,4 +237,6 @@ worktree({action: "notify", args: {message: "POC completed: <task-id>", level: "
|
|||||||
2. **Document ruthlessly** - findings are the deliverable
|
2. **Document ruthlessly** - findings are the deliverable
|
||||||
3. **Timebox strictly** - abandon if taking too long
|
3. **Timebox strictly** - abandon if taking too long
|
||||||
4. **Honest assessment** - don't make it work at all costs
|
4. **Honest assessment** - don't make it work at all costs
|
||||||
5. **Research worktree** - never touch files outside `.worktrees/research/`
|
5. **Stay in your lane** - branch mode: never touch files outside your
|
||||||
|
research worktree; standalone mode: never touch files outside your
|
||||||
|
scratch project and the main repo's `docs/research/`
|
||||||
@@ -177,8 +177,12 @@ If feature flags are added, also run `cargo test --all-features` and
|
|||||||
The project is in **SDD phase 0** (exploration) — see
|
The project is in **SDD phase 0** (exploration) — see
|
||||||
`docs/sdd_process.md` and `docs/research/README.md`. There is no
|
`docs/sdd_process.md` and `docs/research/README.md`. There is no
|
||||||
architecture yet (`docs/architecture/` is empty; ADR numbering starts at
|
architecture yet (`docs/architecture/` is empty; ADR numbering starts at
|
||||||
001 when phase 1 begins). POCs land under `.worktrees/research/` or as
|
001 when phase 1 begins). POC code never merges to main — two modes:
|
||||||
scratch dirs; their findings go into `docs/research/`. Until phase 1
|
branch mode (POC builds on repo code; git branch, findings merged into
|
||||||
|
research docs, branch dropped) or standalone mode (POC independent of
|
||||||
|
repo code; scratch project at `/workspace/<poc-name>`). POCs have relaxed
|
||||||
|
constraints (comments/unwrap acceptable) — they are exploration tools,
|
||||||
|
not production code. Until phase 1
|
||||||
produces ADRs, "the architecture says" has no referent — cite
|
produces ADRs, "the architecture says" has no referent — cite
|
||||||
`docs/research/` docs instead.
|
`docs/research/` docs instead.
|
||||||
|
|
||||||
|
|||||||
+29
-4
@@ -1,8 +1,24 @@
|
|||||||
# alkgit POC Plan
|
# alkgit POC Plan
|
||||||
|
|
||||||
POCs live in research worktrees (`.worktrees/research/<task-id>/`) per
|
## POC modes
|
||||||
sdd_process phase 0, or as scratch experiments outside the main workspace
|
|
||||||
tree if a worktree isn't available yet. Each POC records: hypothesis,
|
POCs are not production code — fewer constraints (comments, unwrap, error
|
||||||
|
taxonomy are all relaxed), and their code never merges to main. Two modes,
|
||||||
|
chosen by whether the POC touches code in this repo:
|
||||||
|
|
||||||
|
- **Branch mode** (POC depends on alkgit code in the repo): create a git
|
||||||
|
branch off main, do the work there, then **merge the findings into the
|
||||||
|
research docs** on main and drop the branch — the POC code itself does
|
||||||
|
not merge.
|
||||||
|
- **Standalone mode** (POC is independent of alkgit code): a scratch crate
|
||||||
|
or project at `/workspace/<poc-name>` (e.g. `/workspace/alkgit-poc1`),
|
||||||
|
outside the repo entirely. Findings are written directly into
|
||||||
|
`docs/research/` on main.
|
||||||
|
|
||||||
|
In both modes the deliverable on main is the findings write-up, not the
|
||||||
|
POC source. POC source is disposable once findings are recorded.
|
||||||
|
|
||||||
|
Each POC records: hypothesis,
|
||||||
method, result (proceed/pivot/block), and what it changes in the research
|
method, result (proceed/pivot/block), and what it changes in the research
|
||||||
docs.
|
docs.
|
||||||
|
|
||||||
@@ -68,4 +84,13 @@ for receive-pack sizing.
|
|||||||
|
|
||||||
POC-1 first (the BiStream/packetline fit is the load-bearing assumption).
|
POC-1 first (the BiStream/packetline fit is the load-bearing assumption).
|
||||||
POC-2 next (the crux of fetch). POC-3 last (http shape). Each POC updates
|
POC-2 next (the crux of fetch). POC-3 last (http shape). Each POC updates
|
||||||
the corresponding research doc with results and a proceed/pivot/block note.
|
the corresponding research doc with results and a proceed/pivot/block note.
|
||||||
|
|
||||||
|
## Modes applied to these POCs
|
||||||
|
|
||||||
|
- POC-1, POC-2: **standalone mode** — nothing in the alkgit repo exists to
|
||||||
|
build on yet; run as `/workspace/alkgit-poc1` and `/workspace/alkgit-poc2`.
|
||||||
|
(If POC-1's bridge turns out to want the workspace deps, it can flip to
|
||||||
|
branch mode on the repo instead — decide before writing, not after.)
|
||||||
|
- POC-3: **branch mode** — it exercises alkhttp wiring against this repo's
|
||||||
|
skeleton; findings merge into `alk-stack.md`, branch is dropped after.
|
||||||
+22
-6
@@ -33,10 +33,19 @@ problems need investigation.
|
|||||||
|
|
||||||
1. Capture vision and guiding principles
|
1. Capture vision and guiding principles
|
||||||
2. Research Specialist investigates options (`docs/research/` or external)
|
2. Research Specialist investigates options (`docs/research/` or external)
|
||||||
3. POC Specialist validates promising approaches (`.worktrees/research/`)
|
3. POC Specialist validates promising approaches
|
||||||
4. Document learnings
|
4. Document learnings
|
||||||
5. Converge on recommended approach
|
5. Converge on recommended approach
|
||||||
|
|
||||||
|
**POC placement (two modes)** — POC code never merges to main; the
|
||||||
|
deliverable is the findings write-up:
|
||||||
|
|
||||||
|
- **Branch mode** (POC builds on code in this repo): git branch off main,
|
||||||
|
work there, merge findings into research docs, drop the branch.
|
||||||
|
- **Standalone mode** (POC independent of this repo's code): scratch
|
||||||
|
project at `/workspace/<poc-name>`, outside the repo. Findings go into
|
||||||
|
`docs/research/` on main directly.
|
||||||
|
|
||||||
**Output**: Clear understanding of WHAT to build and WHY, with validated
|
**Output**: Clear understanding of WHAT to build and WHY, with validated
|
||||||
approaches
|
approaches
|
||||||
|
|
||||||
@@ -89,7 +98,10 @@ WHAT, ADRs explain WHY, open questions track what's unresolved.
|
|||||||
2. Coordinator spawns worktrees + sessions (via
|
2. Coordinator spawns worktrees + sessions (via
|
||||||
`worktree({action: "spawn", ...})` or hub `coord.spawn` when available)
|
`worktree({action: "spawn", ...})` or hub `coord.spawn` when available)
|
||||||
- Feature work: `.worktrees/feat/<task-id>/` → Implementation Specialist
|
- Feature work: `.worktrees/feat/<task-id>/` → Implementation Specialist
|
||||||
- Research POCs: `.worktrees/research/<task-id>/` → POC Specialist
|
- Research POCs building on repo code: `.worktrees/research/<task-id>/`
|
||||||
|
→ POC Specialist (branch mode)
|
||||||
|
- Research POCs independent of repo code: standalone scratch project at
|
||||||
|
`/workspace/<poc-name>` → POC Specialist (standalone mode)
|
||||||
3. Coordinator injects task context into each session
|
3. Coordinator injects task context into each session
|
||||||
4. Agents execute tasks with self-verification
|
4. Agents execute tasks with self-verification
|
||||||
5. On completion: agent notifies coordinator, updates task status, commits to
|
5. On completion: agent notifies coordinator, updates task status, commits to
|
||||||
@@ -312,9 +324,11 @@ limited set (current, notify, status). No mode toggle required.
|
|||||||
**Responsibility**: Create proof-of-concepts to validate technical approaches
|
**Responsibility**: Create proof-of-concepts to validate technical approaches
|
||||||
before production implementation.
|
before production implementation.
|
||||||
|
|
||||||
**Mode**: Primary (works in isolated research worktree)
|
**Mode**: Primary (branch mode: isolated research worktree; standalone
|
||||||
|
mode: scratch project outside the repo)
|
||||||
|
|
||||||
**Worktree Location**: `.worktrees/research/<task-id>/`
|
**Worktree Location**: `.worktrees/research/<task-id>/` (branch mode) or
|
||||||
|
`/workspace/<poc-name>` (standalone mode)
|
||||||
|
|
||||||
**Tools**:
|
**Tools**:
|
||||||
|
|
||||||
@@ -324,8 +338,10 @@ before production implementation.
|
|||||||
**Key Behaviors**:
|
**Key Behaviors**:
|
||||||
|
|
||||||
- Create minimal POCs to validate hypotheses
|
- Create minimal POCs to validate hypotheses
|
||||||
- Work in isolated research worktrees
|
- Branch mode: work in isolated research worktrees; standalone mode: work
|
||||||
- Document findings and recommendations
|
in the scratch project only
|
||||||
|
- Document findings and recommendations (findings are the deliverable —
|
||||||
|
POC source is disposable and never merges to main)
|
||||||
- Timebox strictly - abandon if taking too long
|
- Timebox strictly - abandon if taking too long
|
||||||
- Be honest about limitations and blockers
|
- Be honest about limitations and blockers
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user