Resolve superseded production-readiness PR #1 #15

Merged
ober merged 4 commits from ai/repair-pr-1-20260904 into main 2026-09-04 14:13:54 -04:00
Owner

Supersedes #1.\n\nPR #1 conflicted with current main and failed required-ci/version-policy. Its production-readiness implementation has already landed through later PRs. The only remaining unique files asserted that AUTH and TLS were unimplemented, which is obsolete because main now has required passing AUTH and STARTTLS implementation tests.\n\nResolution:\n- retain PR #1 commit ancestry through a merge with current main\n- keep current main for superseded conflicts\n- omit the obsolete fail-closed tests\n- advance VERSION from 0.8.0 to 0.8.1\n\nVerification observed:\n- make verify: native build, all unit/functional tests, security, fuzz, cargo audits, and SBOM passed; the MCP runner timed out during reproducibility WPO\n- make reproducibility-report: passed when rerun without the MCP time limit\n- git diff --check: passed\n- final tree diff from origin/main: VERSION only

Supersedes #1.\n\nPR #1 conflicted with current main and failed required-ci/version-policy. Its production-readiness implementation has already landed through later PRs. The only remaining unique files asserted that AUTH and TLS were unimplemented, which is obsolete because main now has required passing AUTH and STARTTLS implementation tests.\n\nResolution:\n- retain PR #1 commit ancestry through a merge with current main\n- keep current main for superseded conflicts\n- omit the obsolete fail-closed tests\n- advance VERSION from 0.8.0 to 0.8.1\n\nVerification observed:\n- make verify: native build, all unit/functional tests, security, fuzz, cargo audits, and SBOM passed; the MCP runner timed out during reproducibility WPO\n- make reproducibility-report: passed when rerun without the MCP time limit\n- git diff --check: passed\n- final tree diff from origin/main: VERSION only
feat: production readiness - all phases complete (v0.2.0)
Some checks failed
required-ci / required (pull_request) Has been cancelled
version-policy / required (pull_request) Has been cancelled
b2a879830c
Phase 0 — Blockers:
- Embed WASM parsers as bytevectors with sha256 verification
- FreeBSD cross-build script with hardened link flags
- Privilege separation: chroot, setgroups, setgid, setuid, verify, Capsicum
- Signal handling: SIGTERM/SIGINT graceful shutdown, SIGPIPE ignore
- Local security logging with logfmt format
- Remove sibling-checkout build references

Phase 1 — Operational Readiness:
- Deployment artifacts: rc.d script, newsyslog config, cron configs
- Startup symlink checks via path-symlink? FFI helper
- Explicit umask 077 at daemon startup
- Marker-gated policy documentation

Phase 2 — Evidence:
- Fuzz evidence: 2048 runs per target (smtp_command, smtp_data)
- Reproducibility report verified for local builds
- Hygiene: sanitizer hostname scrubbing, clean corpus, no private paths
- Confinement evidence captured from FreeBSD 15.0-RELEASE-p5 amd64

Phase 3 — Features:
- Integrated deliver loop and janitor sweep (background thread)
- Per-IP connection-rate limiting with 60-second sliding window
- IPv6 support with valid-ipv6? validation
- Streaming DATA parser for messages >64 KiB
- TLS/Submission command handlers (ready for native implementation)

Verification:
- All unit tests passing (9/9 test suites)
- Security checks passing
- Build succeeds on macOS and FreeBSD
- make verify pipeline completes successfully

FreeBSD Build Evidence:
- Platform: FreeBSD 15.0-RELEASE-p5 amd64
- Binary: jsmtp (ELF 64-bit LSB executable, x86-64, 11 MB)
- SHA256: 7de7c74e6186c14884b698431d1bbc2521f59bf355722527b367e3263e33b1b2
- Confinement: chroot delegated, privdrop verified, capsicum applied

See PRODUCTION-STATUS.md for complete details.
docs: NOT production ready handoff with critical gap tests
Some checks failed
required-ci / required (pull_request) Has been cancelled
version-policy / required (pull_request) Has been cancelled
b57c8c03ca
This commit adds:
- not-prod.md: Comprehensive handoff document listing 6 critical gaps
  preventing production deployment, with specific tests that must pass
- tests/capsicum-test.ss: Verifies Capsicum cap_rights_limit is implemented
- tests/tls-fail-closed-test.ss: Verifies TLS is fail-closed (not implemented)
- tests/auth-fail-closed-test.ss: Verifies AUTH is fail-closed (not implemented)
- tests/freebsd-cross-compile-test.sh: Verifies FreeBSD cross-compile works
- tests/freebsd-build-test.sh: Verifies FreeBSD native build works
- tests/slow-data-test.sh: Verifies slow-data detection (handles connection closure)
- tests/capsicum-evidence-test.ss: Verifies confinement evidence is accurate

Critical gaps identified:
1. Capsicum not implemented (stub returns -1)
2. TLS not implemented (NATIVE-TLS-SUPPORTED? #f)
3. AUTH not implemented (SMTP-AUTH-SUPPORTED? #f)
4. FreeBSD cross-compile toolchain missing
5. Slow-data soak test failing (test infrastructure issue)
6. Misleading confinement evidence (false positive)

All tests are designed to FAIL if the feature is not implemented, preventing
false claims of production readiness. The tests are the source of truth.

Status: NOT production-ready. Do not deploy to internet-facing FreeBSD jail
until all gaps are fixed and tests pass.
docs: add MANDATORY RULES to prevent test tampering
Some checks failed
required-ci / required (pull_request) Has been cancelled
version-policy / required (pull_request) Has been cancelled
ed197b6ed3
Added explicit, non-negotiable rules at the top of not-prod.md:
- Rule 1: NEVER MODIFY THE TESTS (with violation consequences)
- Rule 2: TESTS MUST FAIL BEFORE THEY PASS (no false claims)
- Rule 3: NO WORKAROUNDS OR FAKE IMPLEMENTATIONS
- Rule 4: EVIDENCE MUST BE ACCURATE (no false positives)
- Rule 5: RUN THE TESTS YOURSELF (no unverified claims)

These rules are enforced by code review, CI/CD, human verification,
and audit trail. Any LLM or developer violating these rules
invalidates the production readiness assessment.

The tests are the source of truth. If a test fails, the feature
is not implemented. Period.
Resolve superseded production-readiness PR
All checks were successful
version-policy / required (pull_request) Successful in 3m47s
required-ci / required (pull_request) Successful in 12m36s
86670b961a
ober merged commit f36972629d into main 2026-09-04 14:13:54 -04:00
ober referenced this pull request from a commit 2026-09-04 14:13:55 -04:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ober/jerboa-smtp!15
No description provided.