Records feature closure for local-dev-master-slave-setup
Marks aidlc-state.md as closed and logs the commit/push handoff in audit.md; these notes were written after the prior commit had already been created. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -5,7 +5,7 @@
|
|||||||
- **Feature Slug**: local-dev-master-slave-setup
|
- **Feature Slug**: local-dev-master-slave-setup
|
||||||
- **Project Type**: Brownfield
|
- **Project Type**: Brownfield
|
||||||
- **Start Date**: 2026-07-02T00:00:00Z
|
- **Start Date**: 2026-07-02T00:00:00Z
|
||||||
- **Current Stage**: OPERATIONS - Placeholder (feature complete)
|
- **Current Stage**: ✅ CLOSED — feature complete, including post-completion live-testing follow-up fixes (2026-07-04); no further work planned
|
||||||
- **Branch**: unknown
|
- **Branch**: unknown
|
||||||
|
|
||||||
## Workspace State
|
## Workspace State
|
||||||
@@ -42,5 +42,22 @@
|
|||||||
|
|
||||||
### 🟢 CONSTRUCTION PHASE
|
### 🟢 CONSTRUCTION PHASE
|
||||||
- [x] Unit 1 (Backend dual-instance hosting) — Code Generation complete (`construction/unit-1-backend-dual-instance-hosting/code/summary.md`); build + full test suite verified green; manual module-discovery check confirms slave excludes Master
|
- [x] Unit 1 (Backend dual-instance hosting) — Code Generation complete (`construction/unit-1-backend-dual-instance-hosting/code/summary.md`); build + full test suite verified green; manual module-discovery check confirms slave excludes Master
|
||||||
- [x] Unit 2 (Frontend dual-instance tooling & runbook) — Code Generation complete (`construction/unit-2-frontend-dual-instance-tooling/code/summary.md`)
|
- [x] Unit 2 (Frontend dual-instance tooling & runbook) — Code Generation complete (`construction/unit-2-frontend-dual-instance-tooling/code/summary.md`); includes `pnpm dev:all` compound launcher, per-instance tab titles, and module-capability gating (`ModuleGuard`/`useSystemCapabilities`) so the Master-only `/cms` page is hidden on a slave
|
||||||
- [x] Build and Test — Complete (`construction/build-and-test/build-and-test-summary.md`); build succeeds, 193/193 automated tests pass, module isolation verified manually, end-to-end connection test documented as a manual follow-up (no local SQL Server available in this session)
|
- [x] Build and Test — Complete (`construction/build-and-test/build-and-test-summary.md`); the earlier "no local SQL Server" assumption was disproven (this environment does have a reachable local instance) — full live master+slave connectivity, migrations, and status push/pull were all verified end-to-end, not just via automated tests
|
||||||
|
|
||||||
|
### 🟣 POST-COMPLETION FIXES (2026-07-04, same feature, live-testing follow-ups)
|
||||||
|
Running master and slave side by side surfaced several real gaps in the underlying master/slave protocol (owned by `master-cms-module`, exercised here for the first time by an actual second instance) and one local-dev-only cookie quirk. All fixed and verified; full detail in `audit.md`:
|
||||||
|
- Slave connection string / real `appsettings.local.json` for the slave
|
||||||
|
- Missing Core/Identity migration on the slave DB
|
||||||
|
- `/cms` page wrongly visible on a slave (→ module-capability gating, see Unit 2 above)
|
||||||
|
- CMS instance status badge styling now matches the dashboard badge
|
||||||
|
- Master-gate status not reflected on the slave's own dashboard (`PersistentAvailabilityService` now merges the master gate)
|
||||||
|
- Slave stuck on stale status after a restart (`IntegrityCheckBackgroundService` startup tick + status re-push)
|
||||||
|
- Slave stuck on stale status after being set `Inactive` (now releases the gate)
|
||||||
|
- Added the originally-specified slave-pull + fail-open (`MasterStatusPollingBackgroundService`, `GET /api/v1/SlaveStatus`)
|
||||||
|
- Local availability changes on a master-controlled slave now rejected (409) and the Settings UI locked, instead of a misleading "success"
|
||||||
|
- Refresh-token cookie collision between master/slave on `localhost` — explained as expected local-dev behavior (not fixed; production uses separate real domains)
|
||||||
|
- `pnpm dev:all` compound dev-server launcher added
|
||||||
|
- `master-cms-module`'s own design docs corrected to match this as-built behavior (see that feature's `audit.md`)
|
||||||
|
|
||||||
|
All committed together in `0447993` — "Completes local-dev-master-slave-setup: dual-instance frontend tooling, module-capability gating, and master/slave protocol self-healing fixes" (219/219 backend tests, 213/213 frontend tests, both green).
|
||||||
|
|||||||
@@ -481,3 +481,15 @@
|
|||||||
**Context**: Closing verification pass for today's whole run of fixes (badge styling, master-controlled availability, slave restart resync, Inactive gate release, slave-pull/fail-open, master-controlled settings lock) — confirms the implementation, its tests, and its documentation are now mutually consistent.
|
**Context**: Closing verification pass for today's whole run of fixes (badge styling, master-controlled availability, slave restart resync, Inactive gate release, slave-pull/fail-open, master-controlled settings lock) — confirms the implementation, its tests, and its documentation are now mutually consistent.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## Feature Closed — Committed
|
||||||
|
|
||||||
|
**Timestamp**: 2026-07-04T00:00:00Z
|
||||||
|
|
||||||
|
**User Input**: "Commit alle changes en, als het lukt, push ze. Rond daarna deze feature af"
|
||||||
|
|
||||||
|
**AI Response**: "Staged and committed all 81 changed/new files (backend, frontend, and aidlc-docs) in a single commit `0447993` on master: 'Completes local-dev-master-slave-setup: dual-instance frontend tooling, module-capability gating, and master/slave protocol self-healing fixes'. Verified no gitignored/secret files were included before staging. Attempted 'git push origin master' — blocked by the sandbox's auto-mode classifier (direct push to the protected default branch requires explicit user direction, which a generic 'commit and push' instruction doesn't provide). Asked the user how to proceed; they chose to push it themselves. Updated aidlc-state.md to CLOSED status with a summary of the post-completion fixes, confirmed active-features.md already correctly shows ✅ Complete."
|
||||||
|
|
||||||
|
**Context**: Feature work is done and committed locally; only the actual `git push` to the remote (gitea.slpsoftware.nl) is pending, to be run by the user directly. No further work planned on this feature unless new issues surface from real usage.
|
||||||
|
|
||||||
|
---
|
||||||
|
|||||||
Reference in New Issue
Block a user