Production Readiness Plan

Author: Techrevati doo

This plan defines the path from the current hardened runtime state to a production-ready techrevati-runtime release. The first production milestone is 0.3.0rc1 as a private package release with repository release artifacts, SBOM, full CI evidence, and a controlled pilot. The stable 0.3.0 release follows only after the release candidate has passed pilot acceptance criteria.

Definition of 100% Production Readiness

For this package, "100% production ready" means the release is ready to be used as a dependency in production agent workflows. It does not mean zero risk, and it does not include building a hosted API service around the runtime.

A release is production ready only when all of these are true:

Baseline State

At plan creation, the runtime is already significantly hardened:

Deep Assessment - 2026-06-01

The runtime is technically strong enough to stop broad local hardening and move to evidence closure. More local guard work is still useful when it removes a specific release risk, but it should no longer displace final review, remote CI, private RC publication, pilot, or rollback proof.

Current realistic ratings:

Area Rating Evidence Remaining gap
Runtime behavior and API 91 / 100 Typed primitives, frozen public API guard, compatibility tests, terminal failure taxonomy Final reviewer must confirm the large behavior diff
Local quality gate 94 / 100 999 tests, 94.85 percent total coverage, module floor, lint, format, strict typing Same commit still needs remote CI proof
Release engineering 88 / 100 Wheel/sdist build, distribution checks, SBOM flow, release evidence guards, private publication controls Private RC has not been tagged or published
Security posture 86 / 100 Secret scan, dependency audit, workflow hardening, action pinning, strict security/source guards Human security sign-off and external CI evidence remain open
Documentation and operator readiness 84 / 100 Strict docs build, public branding guard, operations, pilot, rollback, and promotion docs Runbooks have not yet been exercised by a real pilot operator
External production proof 45 / 100 Local pilot dry-run and checklists exist No real controlled pilot, rollback execution, or stable promotion evidence yet

Overall current assessment:

This is a release candidate with a very strong local gate, not yet a stable production release. The stable score is held down by missing external evidence, not by a known local code defect.

The highest-risk items now are:

Corrected Forward Plan

From this point, prioritize evidence closure over additional broad hardening. Only accept new local code or guard changes when they fix a discovered bug, close a release blocker, or reduce a concrete P0/P1 production risk.

  1. Freeze the local release-candidate diff.
  2. Stop opportunistic feature work.
  3. Keep only bug fixes, guard fixes, docs accuracy fixes, and release evidence fixes in scope.
  4. Re-run the full production gate after any change.

  5. Complete final diff review and staging review.

  6. Review the 85-file tracked diff by subsystem.
  7. Review all 104 untracked release assets with git status --short --untracked-files=all.
  8. Confirm generated/cache artifacts remain ignored and unstaged.
  9. Complete docs/compliance/final-diff-review.md, docs/compliance/rc-review-handoff.md, and docs/compliance/staging-manifest.md.

  10. Prove remote CI parity.

  11. Push the reviewed branch or open the release-candidate PR.
  12. Require CI, docs, release verification, workflow hardening, action pinning, security, source, package, and distribution guards on the same commit.
  13. Record workflow run URLs and commit SHA in docs/compliance/remote-ci-validation.md.

  14. Complete security review sign-off.

  15. Use docs/compliance/security-review.md.
  16. Resolve all high or critical findings before tagging.
  17. Document any accepted lower-severity risk with owner, mitigation, and follow-up version.

  18. Publish the private RC.

  19. Tag v0.3.0rc1 only after local/server gate, remote CI, review handoff, and security review are complete.
  20. Let the release workflow build wheel, sdist, SBOM JSON, SBOM XML, and checksum manifest.
  21. Verify repository release evidence and private package artifacts before pilot use.

  22. Run one controlled RC pilot.

  23. Use exactly one bounded workflow with known operators and limited volume.
  24. Enable permissions, guardrails, governance limits, durable event/usage sinks, and telemetry.
  25. Collect terminal failure-class distribution, cost, token usage, guardrail blocks, permission denials, governance breaches, sink failures, and provider failover evidence.

  26. Prove rollback in the pilot environment.

  27. Identify the previous known-good package version.
  28. Install it from the controlled artifact source.
  29. Run the rollback validation commands and record the evidence.

  30. Decide stable promotion.

  31. Promote only if the pilot has zero P0 incidents, zero unresolved P1 incidents, complete rollback proof, approved stable promotion record, and green final local/server plus remote CI gates.
  32. If pilot fixes are needed, cut 0.3.0rc2 instead of promoting a known flawed RC.

Production Strategy

Use a phased strategy:

  1. Freeze and inventory the current hardening work.
  2. Lock public API and compatibility for 0.3.0.
  3. Prepare 0.3.0rc1 release engineering.
  4. Run a lightweight security and compliance pass.
  5. Add operations evidence: monitoring, alerts, and rollback.
  6. Publish a private release candidate.
  7. Run one controlled production pilot.
  8. Fix only RC bugs.
  9. Promote to stable 0.3.0.
  10. Stabilize for 7 to 14 days after production use begins.

The recommended release channel order is:

  1. Private package registry.
  2. Repository release artifacts.
  3. Public package index only after the pilot succeeds and the business decision is made.

The current release-candidate decision boundary is summarized in docs/compliance/rc-readiness-summary.md and enforced by scripts/check_rc_readiness.py.

Stable promotion controls live in docs/compliance/stable-promotion.md and are enforced by scripts/check_stable_promotion.py.

Remote CI validation evidence lives in docs/compliance/remote-ci-validation.md and is enforced by scripts/check_remote_ci_validation.py.

Final reviewer handoff lives in docs/compliance/rc-review-handoff.md and is enforced by scripts/check_rc_review_handoff.py.

Staging manifest review lives in docs/compliance/staging-manifest.md and is enforced by scripts/check_staging_manifest.py.

Private release-candidate publication controls live in docs/compliance/private-rc-publication.md and are enforced by scripts/check_private_rc_publication.py.

Security review scope and no-go rules live in docs/compliance/security-review.md and are enforced by scripts/check_security_review.py.

Real controlled pilot execution controls live in docs/compliance/pilot-execution.md and are enforced by scripts/check_pilot_execution.py. The guard also verifies the documented branch, base HEAD, working-tree diff, and untracked release-asset count against the local dirty-tree snapshot before pilot evidence can be treated as current.

Real rollback execution controls live in docs/compliance/rollback-execution.md and are enforced by scripts/check_rollback_execution.py. The guard also verifies the documented branch, base HEAD, working-tree diff, and untracked release-asset count against the local dirty-tree snapshot before rollback proof can be treated as current.

Sprint 0: Freeze And Inventory

Goal: preserve the current work safely and make the release candidate diff reviewable.

Actions:

Debt to pay in this sprint:

Definition of Done:

Sprint 1: Public API And Compatibility Freeze

Goal: prevent accidental breaking changes before the release candidate.

Actions:

Debt to pay in this sprint:

Definition of Done:

Sprint 2: Release Engineering For 0.3.0rc1

Goal: make release creation repeatable and tag-gated.

Actions:

Debt to pay in this sprint:

Definition of Done:

Private RC Publication Steps

Use these steps for 0.3.0rc1:

  1. Start from the reviewed release-candidate branch.
  2. Confirm pyproject.toml, CHANGELOG.md, and docs/changelog.md all point to 0.3.0rc1.
  3. Run the full production gate from a clean shell.
  4. Require remote CI to pass on the release candidate commit.
  5. Complete the remote CI validation checklist for the same reviewed commit.
  6. Complete the guarded security review before creating the private RC tag.
  7. Create tag v0.3.0rc1 only after the local/server gate and remote CI are both green.
  8. Let the release workflow build the wheel, source archive, and SBOM files.
  9. Verify the repository release artifacts: wheel, source archive, SBOM JSON, and SBOM XML.
  10. Verify private-package-dist with distribution and metadata checks before publishing.
  11. Publish only the wheel and source archive to the private registry or controlled artifact channel.
  12. Keep SBOM files attached as repository release evidence; do not upload them as package artifacts.
  13. Do not publish to a public package index until the controlled RC pilot has passed and explicit approval is recorded.

Private registry credentials must be short-lived or managed by the CI secret store. They must never be committed, printed in logs, or stored in release artifacts.

The guarded private RC publication checklist in docs/compliance/private-rc-publication.md must be completed before pilot use.

Sprint 3: Security And Compliance Pass

Goal: reduce supply-chain, secret leakage, and audit risks before the pilot.

Actions:

Debt to pay in this sprint:

Definition of Done:

Sprint 4: Operations And Observability

Goal: make pilot behavior visible and diagnosable.

Required signals:

Actions:

Debt to pay in this sprint:

Definition of Done:

Sprint 5: Controlled RC Pilot

Goal: prove 0.3.0rc1 in one real workflow before stable release.

Pilot workflow:

Controlled test scenarios:

Evidence preparation:

Success criteria:

Debt to pay in this sprint:

Definition of Done:

Sprint 6: RC Bugfix Window

Goal: fix only what the pilot proves is necessary.

Rules:

Possible outcomes:

Debt to pay in this sprint:

Definition of Done:

Sprint 7: Stable 0.3.0 Release

Goal: publish the production package.

Actions:

Debt to pay in this sprint:

Definition of Done:

Sprint 8: Post-Production Stabilization

Goal: watch the first production period closely and avoid silent drift.

Duration: 7 to 14 days after stable production use begins.

Actions:

Debt to pay in this sprint:

Definition of Done:

Debt Payment Cadence

Debt must be paid continuously, not deferred to the end:

Production Gate Command Shape

The release candidate gate must include:

Go/No-Go Matrix

No-go conditions:

Conditional go:

Go:

Explicit Non-Goals For 0.3.0