docs(design): mark Phase 1 shipped + record decisions/deferrals
Fold the implementation outcome back into the project-tool spec (§11) as the design asks. Records what landed (init/pull/config/plan/apply/prune, env overlays, enabled lifecycle, trigger name+backfill, content-fingerprint bound-plan, apply lock) and the deliberate deferrals: tree-structure version → groups; vars/--explain → Phase 3; trigger upsert-by-name + the dashboard enabled toggle → tracked follow-ups beyond the §11 bullets. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -813,6 +813,23 @@ Resolved items now live inline next to their topic. What genuinely remains:
|
|||||||
|
|
||||||
## 11. Suggested phasing
|
## 11. Suggested phasing
|
||||||
|
|
||||||
|
> **Status (Phase 1): ✅ shipped.** `init`, `pull`, `config --effective`, manifest parse/validate,
|
||||||
|
> `plan` + `apply` (single-transaction desired-state write, post-commit route refresh, domains/files
|
||||||
|
> outside the tx), `prune`, secrets push, `.picloud/` link state, env-scoped overlays
|
||||||
|
> (`picloud.<env>.toml` base+overlay), the three-state `enabled` lifecycle on scripts/routes (runtime
|
||||||
|
> 404 + dispatcher fire-time re-check), the trigger `name` column + backfill, a coarse per-app apply
|
||||||
|
> lock, and in-flight-finish-no-kill all landed.
|
||||||
|
>
|
||||||
|
> The **bound-plan staleness check** is the **content-fingerprint** form (a `state_token` hash of the
|
||||||
|
> live state; apply 409s if it moved) rather than a persisted plan-artifact + serial — it delivers the
|
||||||
|
> §4.2 guarantee without a migration or interactive-write-path changes, and the token covers
|
||||||
|
> `enabled`/secret names so the **`enabled`/secrets conflict** is enforced on the plan→apply path.
|
||||||
|
>
|
||||||
|
> Deferred, with rationale: the **tree-structure version counter** is a no-op seam until groups exist
|
||||||
|
> (Phase 2); **`vars`** + multi-level/`--explain` resolution and the richer per-env overlay are Phase 3;
|
||||||
|
> trigger **upsert-by-name** (in-place Update; the diff still Create/Deletes by semantic identity) and
|
||||||
|
> the **dashboard enabled toggle** are tracked follow-ups beyond the §11 bullets.
|
||||||
|
|
||||||
1. **Declarative project tool, single-app (no groups yet).** `init`, `pull`/`config --effective`,
|
1. **Declarative project tool, single-app (no groups yet).** `init`, `pull`/`config --effective`,
|
||||||
manifest parse/validate, `plan` (bound artifact), `apply` (**atomic desired-state write — requires
|
manifest parse/validate, `plan` (bound artifact), `apply` (**atomic desired-state write — requires
|
||||||
the manager-core post-commit-refresh restructuring of §4.2, domains/files excluded from the
|
the manager-core post-commit-refresh restructuring of §4.2, domains/files excluded from the
|
||||||
|
|||||||
Reference in New Issue
Block a user