space-architect 2.0.0.rc1 → 2.0.0.rc2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3022f9e726e74aa3edeca3004af6e3af1a7872bd709fb0da75fbeee5fcf33d30
4
- data.tar.gz: f3f2aef35926a99ba14209c550fb0533da777561df7348d4e0bfce19ee240f86
3
+ metadata.gz: 8bec4cc0a199a23ba60c9efd070163098e43a0a76bd8d2f85fbdbe4f7c7a6077
4
+ data.tar.gz: cc8a23d0ee170242104ef94f020abdb5ed58b8aa4e7c34c97edad42b9cf61433
5
5
  SHA512:
6
- metadata.gz: 480cd0f4dbb96653f6c4db809755e8968cf4bb96311472dde9a2e5172d22526589d20ca522bd028180eac6d2c772e41e80236474da9f8ab2b4597128227be21b
7
- data.tar.gz: 7089e119fe3a0b7bee92facd78dd691ddcf84daae4dc783dda80c2513042ab1d1e1767b5afd099012dd4029c9e0a126c8ea3f7c5b48fe3d056bc8a7b7c7a03a8
6
+ metadata.gz: 0564b3f3909ae233a788950f795afd6fbb3e2edc57ed87b8186cfdb2255d3380e66b140d7f217616ac5f63f9410f04b9f944ede1b06166bd60278429e0550f57
7
+ data.tar.gz: 1b9f709c3ff2dcb77237207fb9cffaad67983eb938f0fe8ee4fc36cc8c95a14acc72523b0c59ebed0c5147a4b792b41d487a21e80e6a11ba1d765f4db0719936
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/space-architect.svg)](https://badge.fury.io/rb/space-architect)
4
4
 
5
- > **Task-scoped workspaces that double as Architect Loop missions — for humans and their agents!** ✨🛰️
5
+ > **Task-scoped workspaces that double as Architect Loop projects — for humans and their agents!** ✨🛰️
6
6
 
7
7
  `space-architect` is a Ruby toolkit for **spaces** — task-scoped project
8
8
  workspaces that hold repos, notes, and artifacts under one obvious filesystem
@@ -18,7 +18,7 @@ The gem ships **three composable binaries** over clean library seams:
18
18
  | **`src`** 🌲 | Tend evergreen repo checkouts for copy-on-write provisioning | `Space::Src` |
19
19
 
20
20
  Each is a first-class executable. `architect` also forwards `architect space …`
21
- and `architect src …` to the other two, so a mission can drive everything from
21
+ and `architect src …` to the other two, so a project can drive everything from
22
22
  one command when that's handier. 🎀
23
23
 
24
24
  ## What's a space? 🪐
@@ -116,7 +116,7 @@ comma form (`-r a,b`) works too. Space ids are date-prefixed
116
116
  same day get a counter (`…-name-of-space-2`). 📅
117
117
 
118
118
  Everything `space` does is also reachable as `architect space …` from within a
119
- mission.
119
+ project.
120
120
 
121
121
  ## `src` — the evergreen engine 🌲
122
122
 
@@ -149,24 +149,31 @@ fish integration (`src shell fish install`).
149
149
  ## `architect` — the Architect Loop 🏗️
150
150
 
151
151
  The **Architect Loop** is a structured build cycle for you and headless AI
152
- builders. Each loop lives inside a space as a *mission*.
152
+ builders. Each loop lives inside a space as a *project*.
153
153
 
154
154
  **Roles:**
155
155
 
156
- - **Architect** — you (or Claude Opus 4.8 in judgment mode): arbitrates
157
- disagreements, writes and freezes iteration files, calls kill/continue, merges
158
- builder output. Never writes implementation code.
159
- - **Builder** — Claude Sonnet 4.6 run headless via `architect dispatch`, one per
160
- lane in its own git worktree: reads the iteration's Builder Prompt, does the
161
- work, writes raw evidence to `build/<id>-<lane>/report.md`. Never grades its
162
- own work; never edits `architecture/`.
156
+ - **Architect** — the judgment role: a strong reasoning model (or you), run
157
+ interactively. Arbitrates disagreements, writes and freezes iteration files,
158
+ calls kill/continue, merges builder output. Never writes implementation code.
159
+ - **Builder** — the execution role: a cheaper model run headless via `architect
160
+ dispatch`, one per lane in its own git worktree. Reads the iteration's Builder
161
+ Prompt, does the work, writes raw evidence to `build/<id>-<lane>/report.md`.
162
+ Never grades its own work; never edits `architecture/`.
163
+
164
+ The loop is **model-agnostic** — which models fill the two roles is your choice
165
+ (e.g. a strong Claude model judging a cheaper one on the same plan, or a
166
+ cross-vendor pairing for more independent review). Set it per dispatch with
167
+ `architect dispatch --model …`, or run several pairings head-to-head as a
168
+ **variant set** (`architect variant add`). See
169
+ [docs/DESIGN.md](docs/DESIGN.md) §1–§2 for the reasoning.
163
170
 
164
171
  **Filesystem layout:**
165
172
 
166
173
  ```text
167
174
  architecture/
168
- ARCHITECT.md # cross-iteration index; mission-wide state
169
- BRIEF.md # durable §-numbered mission contract (optional)
175
+ ARCHITECT.md # cross-iteration index; project-wide state
176
+ BRIEF.md # durable §-numbered project contract (optional)
170
177
  I01-<iteration>.md # one self-contained file per iteration
171
178
  build/
172
179
  I01-<iteration>-<lane>/ # lane worktree + scratch per dispatch
@@ -193,11 +200,17 @@ prints the frozen Acceptance Criteria back. Any change to those sections
193
200
  afterward is an automatic iteration FAIL. The builder never edits the iteration
194
201
  file.
195
202
 
203
+ **Re-grounding 🧭** — `architect init` also scaffolds a `SessionStart` hook that
204
+ runs `architect ground` (emitting `ARCHITECT.md`, `BRIEF.md`, and the in-flight
205
+ iteration) so every fresh session starts oriented — the loop leans on
206
+ fresh-session judgment, and this is what makes picking up cold cheap. Builders
207
+ inside a lane worktree are never grounded.
208
+
196
209
  **Command surface:**
197
210
 
198
211
  ```sh
199
- architect init # scaffold ARCHITECT.md + the space.yaml architect: block
200
- architect brief new # scaffold the durable mission BRIEF.md
212
+ architect init # scaffold ARCHITECT.md + the space.yaml project: block + SessionStart hook
213
+ architect brief new # scaffold the durable project BRIEF.md
201
214
  architect new <iteration> # scaffold architecture/I<NN>-<iteration>.md
202
215
  architect section <it> <section> --from <f> # write + commit a section
203
216
  architect freeze <iteration> # freeze the Acceptance Criteria ❄️
@@ -208,7 +221,8 @@ architect evidence <it> --lane <lane> # transcribe the builder's report ve
208
221
  architect gate <iteration> # run the frozen gate commands, stream raw output
209
222
  architect merge <it> <lane> # integrate ONE judged-passing lane (--no-ff)
210
223
  architect integrate <it> --lanes a,b # integrate a set of passing lanes, in order
211
- architect status # mission state (read-only)
224
+ architect land # end-of-project PR command (no push, no gh)
225
+ architect status # project state (read-only)
212
226
  architect variant add|compare|promote … # competing (harness, model) lanes over one frozen spec
213
227
  architect research dispatch|status|wait … # parallel read-only research lanes (see below)
214
228
  ```
@@ -225,6 +239,8 @@ architect verify my-feature # mechanical post-flight checks
225
239
  architect evidence my-feature --lane lane-a # transcribe raw evidence
226
240
  architect gate my-feature # run the frozen gates yourself
227
241
  # … read the diff against the spec, then write the Verdict …
242
+ architect integrate my-feature --lanes lane-a # merge passing lanes → project/<slug>
243
+ architect land # print gh pr create at project end
228
244
  ```
229
245
 
230
246
  ### Streaming builder output 📡
@@ -346,7 +362,7 @@ The library is split into three namespaces you can require independently:
346
362
 
347
363
  - **`Space::Core`** — the foundation: config, state, XDG, terminal, git/mise
348
364
  clients, the space store. The `space` CLI runs on this alone.
349
- - **`Space::Architect`** — mission state, the builder harness, dispatch, and the
365
+ - **`Space::Architect`** — project state, the builder harness, dispatch, and the
350
366
  research supervisor.
351
367
  - **`Space::Src`** — the evergreen engine (tracking, sync, copy-on-write clone).
352
368
 
@@ -359,7 +375,7 @@ require "space_src" # just the evergreen engine
359
375
  ## Documentation 📖
360
376
 
361
377
  - **[Command Reference](docs/reference.md)** — every command, flag, and behavior
362
- - **[Design](docs/design.md)** — why spaces and the Architect Loop exist, and how they're shaped
378
+ - **[Design](docs/DESIGN.md)** — the source-backed rationale: the twelve invariant rules (R1–R12), the failure-mode → mitigation table, and why the loop is shaped this way
363
379
  - **[Changelog](CHANGELOG.md)** — release history
364
380
 
365
381
  ## Development 🛠️