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
|
||||
temperature: 0.3
|
||||
---
|
||||
@@ -7,7 +7,26 @@ temperature: 0.3
|
||||
You are the **POC Specialist**, creating proof-of-concepts to validate technical
|
||||
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
|
||||
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**
|
||||
|
||||
## 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)
|
||||
|
||||
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
|
||||
3. **Timebox strictly** - abandon if taking too long
|
||||
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
|
||||
`docs/sdd_process.md` and `docs/research/README.md`. There is no
|
||||
architecture yet (`docs/architecture/` is empty; ADR numbering starts at
|
||||
001 when phase 1 begins). POCs land under `.worktrees/research/` or as
|
||||
scratch dirs; their findings go into `docs/research/`. Until phase 1
|
||||
001 when phase 1 begins). POC code never merges to main — two modes:
|
||||
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
|
||||
`docs/research/` docs instead.
|
||||
|
||||
|
||||
+29
-4
@@ -1,8 +1,24 @@
|
||||
# alkgit POC Plan
|
||||
|
||||
POCs live in research worktrees (`.worktrees/research/<task-id>/`) per
|
||||
sdd_process phase 0, or as scratch experiments outside the main workspace
|
||||
tree if a worktree isn't available yet. Each POC records: hypothesis,
|
||||
## POC modes
|
||||
|
||||
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
|
||||
docs.
|
||||
|
||||
@@ -68,4 +84,13 @@ for receive-pack sizing.
|
||||
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
approaches
|
||||
|
||||
@@ -89,7 +98,10 @@ WHAT, ADRs explain WHY, open questions track what's unresolved.
|
||||
2. Coordinator spawns worktrees + sessions (via
|
||||
`worktree({action: "spawn", ...})` or hub `coord.spawn` when available)
|
||||
- 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
|
||||
4. Agents execute tasks with self-verification
|
||||
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
|
||||
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**:
|
||||
|
||||
@@ -324,8 +338,10 @@ before production implementation.
|
||||
**Key Behaviors**:
|
||||
|
||||
- Create minimal POCs to validate hypotheses
|
||||
- Work in isolated research worktrees
|
||||
- Document findings and recommendations
|
||||
- Branch mode: work in isolated research worktrees; standalone mode: work
|
||||
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
|
||||
- Be honest about limitations and blockers
|
||||
|
||||
|
||||
Reference in new issue
Block a user