Skip to content

fix: close ship-blocking gaps and reconcile stale gap docs for v1#120

Merged
aidankhogg merged 2 commits into
dev/alphafrom
claude/foundation-fixes
Jun 29, 2026
Merged

fix: close ship-blocking gaps and reconcile stale gap docs for v1#120
aidankhogg merged 2 commits into
dev/alphafrom
claude/foundation-fixes

Conversation

@aidankhogg

Copy link
Copy Markdown
Contributor

Summary

Foundation fixes toward a v1/production release — the low-risk, high-value "honesty + safety" batch. Three independent workstreams:

WS-D — Mail DKIM

The _dkim._domainkey TXT record published a literal v=DKIM1; k=rsa; p=<public_key> placeholder ("Simplified for MVP"), so DKIM signatures could never validate. Now MailHandler._dkim_txt_value derives the real p= base64 DER from the generated public key and threads it into _inject_dns_records. Added a regression test guarding against the placeholder.

WS-E — Operational hardening

pgmq-unavailable previously disabled admission-event consumers silently at info level — operators couldn't tell event-driven provisioning was off. Now:

  • The three admission consumers (phase_ands, phase_inworld_identity, phase_services) log at WARNING with an actionable message.
  • GET /api/v1/health surfaces an events block (enabled + reason) via a best-effort pgmq_available() probe in core/db_client.

WS-F — Docs & claims hygiene

  • Corrected the README "Roadmap to v1" cross-world federation item — DNS-stub peering is prototyped/e2e-tested, but full routing/resolution remains gated unsupported.
  • Prepended dated status corrections to docs/GAP_SUMMARY.txt and docs/COMPREHENSIVE_GAP_ANALYSIS.md (a code re-audit found several listed gaps already resolved: all four operator API mutation endpoints exist, SPF/DMARC are wired, reload persists the spec, Phase 9 prereq present).
  • Added a test enforcing every feature_state registry entry is documented in docs/spec-alpha-support.md.

Testing

  • Full suite green locally (pytest tests/ -q): all passing, no new failures.
  • Touched modules pass black/isort/flake8; core/db_client.py passes mypy --strict.

🤖 Generated with Claude Code


Generated by Claude Code

claude and others added 2 commits June 29, 2026 10:58
WS-D — Mail DKIM: publish the real generated public key in the
_dkim._domainkey TXT record instead of the literal "p=<public_key>"
placeholder; add MailHandler._dkim_txt_value plus a regression test.

WS-E — Operational hardening: raise pgmq-unavailable admission-consumer
logs from info to WARNING across phase_ands/phase_inworld_identity/
phase_services, and surface an "events" block (enabled + reason) in the
operator API /health endpoint via a best-effort pgmq_available() probe.

WS-F — Docs/claims hygiene: correct the README cross-world federation
roadmap item (DNS-stub peering prototyped; full routing/resolution still
gated), prepend dated status corrections to GAP_SUMMARY.txt and
COMPREHENSIVE_GAP_ANALYSIS.md (several items already resolved), and add a
test enforcing every feature_state registry entry is documented in the
alpha support matrix.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018NsdPH4dcsbTWeTFuTgswY
@aidankhogg aidankhogg merged commit 9f8237c into dev/alpha Jun 29, 2026
0 of 6 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.

2 participants