Fix Packet

The repair artifact agents can actually use.

Axint does not stop at generated Swift. Compile, watch, and validate runs leave behind a structured packet with the verdict, top findings, next steps, Xcode checklist, and a repair prompt your agent can read directly.

axint xcode packet --format promptlocal
Axint Check
needs_review

AX114 found one Apple setup issue before the code reaches a release build.

errors0
warnings1
confidencehigh
Copy this into the agent
You are repairing an Apple-native Axint output.

Verdict: needs_review
Source: Sources/LogWorkout.swift
Finding: AX114 - HealthKit entitlement declared without matching privacy usage descriptions.

Make this change:
- Add NSHealthShareUsageDescription.
- Add NSHealthUpdateUsageDescription.
- Keep the wording specific to workout logging.

Then rerun:
axint validate-swift Sources/LogWorkout.swift
quick verdict
.axint/fix/latest.check.json

Compact pass, needs_review, or fail state for UI, editor, and workflow glue.

full packet
.axint/fix/latest.json

Structured source, confidence, diagnostics, top findings, next steps, and artifacts.

human report
.axint/fix/latest.md

The same repair context rendered for review, sharing, and debugging by a teammate.

agent prompt
axint.fix-packet

MCP-readable prompt output so an agent can make the next edit without pasted console noise.

The loop

One repair contract across CLI, MCP, and Xcode-facing workflows.

This is the strategic part: every surface reads the same packet instead of each tool inventing its own Apple diagnostics format.

  1. 01

    Define or validate

    Run the compiler, watch mode, or Swift validator against an Apple-native surface.

    axint validate-swift Sources/LogWorkout.swift
  2. 02

    Get a verdict

    Axint writes a lightweight check first, so the first read is a status instead of raw output.

    latest.check.json -> needs_review
  3. 03

    Open the packet

    The full packet carries findings, why they matter, next steps, artifact paths, and the repair prompt.

    latest.json -> topFindings + nextSteps
  4. 04

    Hand it to the agent

    Codex, Claude, Cursor, Xcode helpers, or MCP clients can read the same repair contract.

    axint.fix-packet({ format: "prompt" })
  5. 05

    Rerun until clean

    The loop closes when the next compile or validation run returns pass.

    build -> check -> packet -> fix -> rerun
Machine readable
JSON
{
  "schemaVersion": 1,
  "compilerVersion": "0.3.9",
  "source": {
    "surface": "swift",
    "fileName": "LogWorkout.swift"
  },
  "outcome": {
    "verdict": "needs_review",
    "headline": "HealthKit setup needs privacy copy",
    "errors": 0,
    "warnings": 1
  },
  "coverage": {
    "confidence": "high"
  },
  "topFindings": [
    {
      "code": "AX114",
      "message": "HealthKit entitlement declared without matching privacy usage descriptions",
      "suggestion": "Add NSHealthShareUsageDescription and NSHealthUpdateUsageDescription."
    }
  ],
  "nextSteps": [
    "Update the plist copy.",
    "Rerun Axint validation.",
    "Keep the generated Swift and entitlement fragments in sync."
  ]
}

For builders

The failure is named, scoped, and paired with the next edit instead of buried in compiler noise.

For agent workflows

The prompt is produced by the build system, so the next model call gets the same facts your CLI, MCP tool, and Xcode helper saw.

For teams

The markdown and JSON packets create a durable handoff between local work, Cloud reports, and future Xcode-native surfaces.

This is the receipt behind the loop.

The homepage now explains the loop. This page gives reviewers the concrete artifact behind the loop.