Skip to content

Retire dev: final reconciliation into master - #99

Merged
lost-rob0t merged 80 commits into
masterfrom
reconcile/dev-into-master-final
Aug 16, 2026
Merged

Retire dev: final reconciliation into master#99
lost-rob0t merged 80 commits into
masterfrom
reconcile/dev-into-master-final

Conversation

@lost-rob0t

Copy link
Copy Markdown
Owner

Purpose

Make master the sole canonical development branch by performing the final semantic reconciliation of the diverged long-lived dev history into a branch created from current master.

After this PR, normal development must branch from current master and target master; dev is retired/deprecated and must receive no new work.

Audited divergence

  • audited master: e2fa1991d8b08b74bcb2194c7a10f02da2431ad1
  • audited dev: 6d2feb103e57f2227b3609430ae7c68e7e834aa1
  • merge base: e9586b935758dbae69283e6a099e30cdb29a5ba9
  • dev ahead of master: 78 commits
  • dev behind master: 21 commits

The reconciliation commit is bd4b9d1ecd808f5e3aecf53df0b9c54337500b94, with audited master as first parent and audited dev as second parent. Published history was not rewritten or force-pushed.

Preserved from master

Preserved from dev

Semantic conflict resolution

Seven paths were modified on both sides since the merge base:

  1. .github/workflows/smoke-tests.yml: retained master's stronger Nix action, flake evaluation, build gate, timeouts, permissions, and concurrency controls. Branch policy is intentionally changed only after this reconciliation lands.
  2. scripts/stack-test.sh: retained dev's broader scoped authorization/denial stack coverage; persistent human users remain covered by the dedicated master unit/API code and test suite.
  3. source/gserver-settings.lisp: union of master human-user settings/public login path and dev Rabbit retry/quarantine settings.
  4. source/package.lisp: union of master human-user exports and dev authorization/target/Rabbit/CouchDB exports.
  5. source/starintel-gserver.asd: retained dev's newer runtime module graph and inserted master auth/users after the shared auth store.
  6. starintel-gserver-tests.asd: retained dev's newer suites and inserted master auth-users-test.
  7. t/run-tests.lisp: retained dev required suites and added fail-on-empty auth-users-tests.

All other master-only changed files were copied verbatim into the dev-derived reconciled tree; all other dev-only changes remain intact.

Open dev-targeting PR disposition

Verification

CI on this PR is the authoritative execution environment because the connected execution environment has no direct GitHub/network checkout. Required repository workflows must complete successfully before merge. Exact commands/counts will be recorded from workflow evidence; zero-test discovery is treated as failure.

Resulting branch policy

Once merged, a follow-up policy slice will update checked-in docs/workflow triggers and issue #53 to state:

  • master is canonical.
  • all feature/fix/research/hotfix branches start from current master.
  • all normal PRs target master.
  • dev is retired/deprecated and receives no new work.

github-actions Bot and others added 30 commits July 26, 2026 21:14
Port crash-safe outbox and idempotency, owner-thread Rabbit settlement, bounded retry/quarantine, durable target recovery and dispatch, revision-safe updates, and typed CouchDB view registration onto current dev without the superseded schema class model.
Preserve the hardened authentication, documentation, schema, and relation-repair work from the stable line while integrating dev's owner-thread Rabbit runtime, bounded retry/quarantine, outbox, target recovery, document update, view registry, and operational acceptance tests.
Preserve both branch histories while integrating the hardened stable line with dev's operational Rabbit, outbox, target recovery, document update, view registry, and container acceptance work.

Validated by schema lock, operational source contract, hermetic unit tests, service-backed integration tests, and the full container stack.
lost-rob0t and others added 27 commits August 2, 2026 21:16
…-key decoding

HTTP integration tests launched *app* directly, bypassing the production
authentication/authorization middleware in *server*, so route-level
authorize! calls saw no principal and returned 403 missing_principal.
The test harness now installs a request-scoped wrapper that binds the
development security configuration per request (not around clackup, since
Clack worker threads outlive those dynamic extents) and delegates to
(lack.component:call *server* env). A test-only X-Test-Auth-Mode header
selects dev-bypass, unauthenticated (401), or restricted-principal (403)
contexts; the restricted principal is minted in an isolated memory
credential store. The catch-all (error (pass)) handlers that swallowed 401/403
as expected RabbitMQ failures are replaced with exact status assertions.

Also fixes decode-view-key: jsown parses bare leading t/f/n as true/false/null,
so [dataset-1 tenant-1] decoded to (T). jsown is now only invoked on genuine
JSON string arrays/objects; bare printed composite keys go to the narrow
split-printed-view-key parser.
Reconcile hotfix PR #90 into dev
Fix CouchDB view query transport and result typing
Define distributed target lease and fencing semantics
Implement backend-neutral lease store protocol
Final semantic reconciliation of the long-lived dev line into the master-based reconciliation branch. Preserve master persistent human-user/auth work and dev authorization, target dispatch, CouchDB/outbox, lease protocol, and operational-salvage work. Resolve the seven overlapping paths explicitly without rewriting either published history.
The final dev-to-master reconciliation cannot satisfy the operational salvage gate while the workflow only listens to PRs targeting dev. Move that PR trigger to canonical master without changing the test command or patch-hygiene check.
@lost-rob0t
lost-rob0t merged commit 516742d into master Aug 16, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant