feat(deploy): gate claims on pinned runtime readiness

Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a06ba0-10aa-7ea0-b20a-4f3fac39efe9
This commit is contained in:
tegwick 2026-09-04 20:08:37 +02:00
parent d00ffcb402
commit 4310c15eac
17 changed files with 757 additions and 10 deletions

View file

@ -190,6 +190,14 @@ def _cmd_close_outbox(args: argparse.Namespace) -> int:
return 1 if payload["pending"] or payload["quarantined"] else 0
def _cmd_preflight(args: argparse.Namespace) -> int:
from rein_aharness.readiness import run_readiness_checks
report = run_readiness_checks(check_activity_core=not args.offline)
print(json.dumps(report.as_dict(), indent=2, sort_keys=True))
return 0 if report.ok else 1
def _cmd_run(args: argparse.Namespace) -> int:
from rein_aharness.intake import IntakeError, IssueCoreClient, poll_next
@ -565,6 +573,16 @@ def main(argv: list[str] | None = None) -> int:
help="Maximum pending entries to replay (default: 100)",
)
preflight = sub.add_parser(
"preflight",
help="Check queue, workspace, state, and enabled profile readiness",
)
preflight.add_argument(
"--offline",
action="store_true",
help="Skip the read-only Activity Core queue probe",
)
args = parser.parse_args(argv)
if args.command == "validate":
@ -582,6 +600,9 @@ def main(argv: list[str] | None = None) -> int:
if args.command == "close-outbox":
return _cmd_close_outbox(args)
if args.command == "preflight":
return _cmd_preflight(args)
if args.command == "run":
return _cmd_run(args)