Skip to main content

FAQ

What is ASF50 in one paragraph?

ASF50 is a runtime that turns a single bounded master goal into a governed software release. It is autonomous in execution but strict about human authority. Every destructive or external commitment requires a real owner gate, every authorization is scoped and replay-protected, and every action leaves a receipt.

Do I need to know Python to use ASF50?

No. The operator-facing CLI is PowerShell (.ps1 entrypoints). The Python is internal to the deterministic backend.

Where does the runtime DB live?

By default, D:\Projects\ASF50-Platform\ASF50\scripts\goal-runner\local\runtime\goal-state.sqlite3 for local development. For production, move the runtime root outside the repo and set ASF50_RUNTIME_ROOT.

Can I edit the SQLite directly?

No. Direct mutation is forbidden. All state flows through RuntimeStore and the canonical CLIs. If you need to fix a state bug, file a repair goal.

What's the difference between MERGE_APPROVAL and PRODUCTION_PROMOTION?

MERGE_APPROVAL authorizes a PR merge to main. PRODUCTION_PROMOTION authorizes a signed-ticket-driven production release. They are independent scopes and one does not imply the other.

How do I know production is live?

program-status.ps1 shows the program's current state. Look for program_state: PROGRAM_PRODUCTION_CERTIFIED. Alternatively, inspect the deployment health evidence.

Why does ASF50 only have one AI agent at a time?

Stage-1 governance is single-agent sequential. Parallel agents create scope drift, concurrency bugs, and authority ambiguity. A fresh Independent Auditor context is logically separate but sequentially dispatched.

Where do my private keys live?

On your workstation. They never enter the ASF50 repo, runtime, evidence, chat, or this documentation. The orchestrator only sees your public key, in agent-harness/governance/allowed_signers.

What's a deviation?

A recorded non-blocking event that ASF50 must account for. The deviation count is forward-only. You cannot retroactively authorize a deviation.

What happens when CI fails?

The orchestrator re-routes the goal according to next_action_policy.on_fail. Three consecutive failures on the same task transition the goal to REPAIR_REQUIRED.

How do I rotate the production signing key?

Open a REPAIR_GOAL with phase_id: SIGNING-KEY-ROTATION-<n>. Update agent-harness/governance/allowed_signers to add the new public key. See Playbooks → Rotate the production signing key.

Can I click Merge from the chat?

No. Merge happens only after the orchestrator has materialized a MERGE_APPROVAL gate at the exact PR head and the owner has submitted an approving GitHub review.

How do I run the docs site locally?

cd docs-site
npm install
npm run start

The site is served at http://localhost:3000/ASF50/.

Your Next ASF50 Goal

Copy this template into goals/<YOUR_GOAL_ID>/PROMPT.md:

GOAL: <one-sentence bounded outcome>
SUCCESS_CRITERIA:
- <measurable item 1>
- <measurable item 2>
- <measurable item 3>
BOUNDARIES:
- <files / paths the goal may modify>
- <files / paths the goal must not modify>
HUMAN_GATES:
- MERGE_APPROVAL
- PRODUCTION_PROMOTION # if production-bound
AUTOPILOT_EXPECTATION:
- single-agent sequential
- no intermediate owner prompts
TERMINAL_CONDITION: <single-line terminal assertion>

Then copy goals/ASF50_DOCS_PORTAL_001/GOAL_RECORD.yaml, replace the required fields, write CONTEXT.yaml, commit on a bounded branch, and run goal-run.ps1 -GoalId <id> -RuntimeRoot … -DryRun.