# factory-o Launch Skill

Canonical public URL: https://factory-o.com/skills/launch

Status: public static v0. This file has no project-specific authority, no credential, and no nonce. A future attestation endpoint must issue any project-specific session or nonce at request time.

## Purpose

Help a coding agent turn scoped project work into factory-o-compatible launch artifacts:

```text
scoped work -> signed commit -> genesis receipt draft -> attestation request draft -> value page summary -> gated liquidity path
```

Primary line:

> Connect your project to onchain liquidity in one minute.

This skill prepares a launch path. It does not guarantee income, price performance, demand, liquidity, legal ownership, or approval.

## Operating Contract

- Do not expose private source code in public summaries.
- Do not include credentials, account emails, wallet material, or private remotes in artifacts.
- Do not call factory-o, GitHub, a wallet, or an onchain service unless the developer explicitly authorizes that exact external action.
- Do not create paid resources.
- Stop before git push, hosted API calls, wallet transactions, token launch, or liquidity launch unless explicit authorization is present in the current task.

## Workflow

1. Read local project instructions and repository status.
2. Implement only the scoped work requested by the developer.
3. Run tests, typecheck, lint, or build as appropriate.
4. Check commit identity and signing setup.
5. Prepare a signed commit or print the exact commit command for the developer.
6. Draft .factory-o/receipts/genesis-receipt.json.
7. Draft .factory-o/attestation/request.json.
8. Draft a public value page summary that excludes private code and credentials.
9. Report the closed gates.

## Commit Message Trailers

```text
Factory-O-Intent: genesis-candidate
Factory-O-Project: <project-slug>
Factory-O-Receipt: <sha256-of-canonical-receipt-json-or-tbd>
Factory-O-Lineage: none|<parent-receipt-id>|unknown
Factory-O-Privacy: public-summary|private-source|mixed
Factory-O-Attestation: draft|requested|not-requested
```

## Genesis Receipt Draft

Write this shape to .factory-o/receipts/genesis-receipt.json:

```json
{
  "schema": "factory-o.genesis-receipt.v0",
  "project": {
    "slug": "project-slug",
    "name": "Project Name",
    "public_url": null
  },
  "work": {
    "commit": "git-commit-hash-or-tbd",
    "parent": "parent-commit-hash-or-tbd",
    "branch": "branch-name",
    "repo_url": "redacted-or-public-remote",
    "observed_at": null
  },
  "claim": {
    "one_liner": "Connect your project to onchain liquidity in one minute.",
    "value_page_summary": "Public summary without private code.",
    "proof_summary": "What can be proven from commits, tests, releases, or demos."
  },
  "license": {
    "boundary": "free|commercial|private|permissioned|unknown",
    "private_code": true
  },
  "value_return": {
    "path": "waitlist|license|support|service|unknown",
    "description": "How value may return without promising revenue."
  },
  "lineage": {
    "root_receipt_id": null,
    "parent_receipt_id": null,
    "fork_policy": "none|inherits|subordinate|unknown"
  },
  "privacy": {
    "allowed_public_fields": ["project.slug", "claim.one_liner"],
    "redacted_fields": ["work.repo_url"]
  },
  "agent": {
    "name": "codex",
    "skill_url": "https://factory-o.com/skills/launch",
    "run_notes": "Commands run and gates hit."
  }
}
```

## Attestation Request Draft

Write this shape to .factory-o/attestation/request.json:

```json
{
  "schema": "factory-o.attestation-request.v0",
  "request_type": "genesis_receipt_attestation",
  "skill_url": "https://factory-o.com/skills/launch",
  "nonce": "not-issued-yet",
  "repo": {
    "url": "redacted-or-public-remote",
    "branch": "branch-name"
  },
  "commit": {
    "hash": "git-commit-hash-or-tbd",
    "parent": "parent-commit-hash-or-tbd",
    "signature_status": "verified|unverified|unknown"
  },
  "receipt_sha256": "sha256-or-tbd",
  "requested_checks": [
    "commit-exists",
    "parent-exists",
    "signature-status-recorded",
    "no-prior-factory-o-genesis-found",
    "private-fields-redacted"
  ],
  "client_statement": "I request factory-o attestation for the observed commit and receipt draft."
}
```

For MVP, do not send this to a hosted API. Leave it as a local draft unless the developer explicitly authorizes a factory-o attestation request.

## Non-Repudiation Checks

```sh
git status --short
git rev-parse --show-toplevel
git rev-parse HEAD
git rev-parse HEAD^
git log -1 --format=fuller
git log --show-signature -1
git config --get commit.gpgsign
git config --get gpg.format
rg -n "Factory-O-|factory-o.genesis-receipt" . || true
```

Record whether commit signing is verified, unverified, unavailable, or unknown. Do not fake a verified signature.

## Closed Gates

These actions require explicit developer authorization in the current task:

- pushing to GitHub or another remote
- creating or editing GitHub repositories, apps, organizations, secrets, or PRs
- calling a hosted factory-o attestation API
- creating wallets, signing wallet messages, or sending transactions
- launching tokens or liquidity curves
- creating paid Cloudflare, database, analytics, indexing, or chain resources
- publishing private source, private repo URLs, personal identity, or account emails

## Final Report Format

```text
Status: drafted|committed|blocked
Commit: <hash-or-tbd>
Receipt: <path-and-sha256-or-tbd>
Attestation request: <path-or-not-created>
Value page summary: <public-safe summary>
Verification: <commands run>
Closed gates: <push/api/wallet/onchain/paid gates still closed>
Questions: <only blockers that materially change the next action>
```
