Skip to content

Harden machine bridge and component pins#107

Merged
8Dionysus merged 1 commit into
mainfrom
land/machine-bridge-component-pins
May 14, 2026
Merged

Harden machine bridge and component pins#107
8Dionysus merged 1 commit into
mainfrom
land/machine-bridge-component-pins

Conversation

@8Dionysus
Copy link
Copy Markdown
Owner

Summary

  • pin source-managed runtime components to inspected version+digest references
  • add machine-fit and machine-bridge freshness/status gates to aoa-doctor
  • repair source-root marker detection for autonomy and diagnosis wrappers
  • document the machine evidence and component pinning decisions

Verification

  • python scripts/validate_stack.py
  • python scripts/validate_nested_agents.py
  • python scripts/validate_decision_records.py
  • python scripts/build_diagnostic_surface_catalog.py --check
  • python scripts/validate_diagnostic_surface_catalog.py
  • python -m pytest -q
  • python scripts/release_check.py
  • shellcheck -x mechanics/diagnostic-spine/parts/doctor-readiness/aoa_doctor.sh scripts/aoa-doctor
  • git diff --check

Runtime Notes

  • aoa-sync-configs --delete refreshed deployed Configs after source changes
  • aoa-doctor now warns on stale or mismatched machine evidence instead of silently treating source/deployed parity as sufficient
  • current host evidence is connected but still reports machine-fit needs-attention because kernel updates are available

@8Dionysus 8Dionysus merged commit bc600bd into main May 14, 2026
4 checks passed
@8Dionysus 8Dionysus deleted the land/machine-bridge-component-pins branch May 14, 2026 16:50
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a817989d62

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +301 to +303
current_bridge = run_json("abyss-machine", "bridge", "--json")
current_stack_bridge = run_json("abyss-machine", "stack-bridge", "export", "--json")
host_bridge = payload.get("host_bridge") if isinstance(payload.get("host_bridge"), dict) else {}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Warn when live bridge probes cannot be collected

If abyss-machine bridge --json or abyss-machine stack-bridge export --json fails (for example on an older or partially installed abyss-machine), run_json returns None and the subsequent comparisons are skipped, so warnings can remain zero and the script prints machine-bridge record current enough. That reports freshness as OK even though no live bridge state was available to compare, which can give operators a false readiness signal.

Useful? React with 👍 / 👎.

Comment on lines +176 to +179
machine = payload.get("machine") if isinstance(payload.get("machine"), dict) else {}
record_kernel = machine.get("kernel_release")
current_kernel = platform.release()
if isinstance(record_kernel, str) and record_kernel and record_kernel != current_kernel:
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Require host identity fields before passing machine-fit freshness

The kernel/OS mismatch checks only run when machine.kernel_release and machine.os_version_id are present, but there is no warning when those fields are missing, so a record with fit_verdict.status=qualified and no host identity can still be reported as current enough. That undermines the new host-match gate because malformed or incomplete records can silently pass as fresh evidence.

Useful? React with 👍 / 👎.

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