Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 28 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,26 @@

Portable Agent Skills for working with [First Draft](https://github.com/firstdraft/firstdraft).

This repository is experimental. The prior `rails-sketch/2026-07` journey is the only complete local evidence.
This repository is experimental. The current `rails-sketch/2026-08` path has bounded local execution evidence.
First Draft's committed
[controlled CLI smoke](https://github.com/firstdraft/firstdraft/blob/9e296062bf543e89387e2f1044dd29eb52123c9c/script/compilation_http_cli_smoke)
reproducibly exercises an installed CLI, loopback Rails, and real Solid Queue through 151-file application
materialization. Separately, a one-off observation on 2026-07-30 used a fresh Codex invocation of this
Skill at
[`e24b438`](https://github.com/firstdraft/skills/commit/e24b438918f406e8638e79598b6d83605bd4c15a),
server baseline
[`9e29606`](https://github.com/firstdraft/firstdraft/commit/9e296062bf543e89387e2f1044dd29eb52123c9c),
and CLI baseline
[`36f1292`](https://github.com/firstdraft/cli/commit/36f12921c0f6641f073820734234c11e47fdb834)
to go from a prose request through valid analysis and Movie application materialization. That observation is narrow
development evidence, not a reproducible agent eval, release, authentication, representative-user, deployment, or
production evidence.

The successor `rails-sketch/2026-08` authoring, schema, eval, and contract fixtures are prepared for a bounded web
and iPhone journey, but they have not completed it and are not execution evidence. The exact landed CLI revision is
[controlled CLI smoke](https://github.com/firstdraft/firstdraft/blob/5847a349599f3cc28e1e0a1a8d8bace6742be7c3/script/compilation_http_cli_smoke)
reproducibly drives an installed CLI through loopback Rails and real Solid Queue to valid analysis, one Compilation,
artifact verification, and 194-file two-Entity materialization. It checks matching authored order in the emitted web
and iPhone navigation declarations without executing the generated application.

Separately, a dated 2026-07-31
[field report](https://github.com/firstdraft/firstdraft/blob/16b056a6f55eb92cb6e5a6e02abd58e84b47abd5/docs/solutions/2026-07-31-fresh-agent-rails-and-iphone-compilation-field-report.md)
records one staff-prepared local observation using a fresh Claude Code Opus/high session and this Skill at
[`5cad5ac`](https://github.com/firstdraft/skills/commit/5cad5acec23a983e6421d2d37420a74de63b47fb).
The agent authored Movie and Director from prose, reached graph-version-1 valid analysis, invoked Compilation once,
and materialized a 194-file, 542,894-byte artifact. The fresh agent session ended after the unmodified output passed
its iOS doctor, lint, unsigned Xcode build, and generated Simulator tests. Afterward, an operator performed Rails
setup and used a temporary test-only copy to exercise live generated Rails pages, tab switching, and scrolling;
manual Simulator inspection covered the Dynamic Island and bottom safe area. This is not a reproducible agent
evaluation, authenticated operation, representative-user evidence, a published release, physical-device or iPad
proof, deployment, or production evidence.

The exact landed CLI revision is
`121272cd592055354d09a4fe90e55c3ca002770c`; its reviewed JavaScript-source runtime digest is
`205e664df0ed9c7e63651a1c2c01e749a04d8879fe7f62cc4c1e13b66dce738d`. The exact landed server revision is
`35ad070beb36c66dc6480f36b33767caaed160a9`; it activates analyzer
Expand Down Expand Up @@ -114,16 +117,15 @@ path, and compile once. Never reuse a Project or Compilation across server-backe

The `*-analysis.json` fixtures and Compilation eval prompts are behavioral examples accepted by the pinned CLI
contract, not execution evidence by themselves. Their `2026-07-30` timestamps are fixed deterministic transport
data, not execution-evidence dates. A successor smoke must record the exact server, CLI, runtime, Skill, analyzer,
data, not execution-evidence dates. The dated field report records the server, CLI, runtime, Skill, analyzer,
compiler, Rails Core, and iOS Core pins; Project and graph version; AnalysisRun and status; Compilation and artifact
identity; actual artifact byte size, file count, and manifest digest; representative web and iPhone files; and the
executable mode of `ios/bin/ios`. It must also establish that the artifact remains below the CLI's 16 MiB limit.
identity; artifact byte size, file count, and manifest digest; representative web and iPhone files; executable mode;
generated checks; the recovered authoring prompt and seed command; and composed local observation. It also records
the observation's preparation and reproducibility limits.

The current server-internal canonical Movie Catalog lifecycle fixture reports 190 Rails and iPhone files. That
count may be used as the bounded compile-reporting eval expectation, but it is not an external CLI or Skill smoke.
The iPhone output in that proof was byte-checked; it was not built or run in Xcode. Re-record the actual file count
and digests during the successor smoke rather than treating the server-internal result as release evidence.
The Compilation eval's 190-file response remains deterministic synthetic transport data; it is not the 194-file
output observed by the controlled smoke and dated field report.

The prior committed CLI smoke does not establish the successor releases, authenticated operation, representative
external-agent use, deployment, production readiness, or capabilities beyond its historical one-Entity scalar
slice. The dated observation above is not a reproducible eval.
The committed smoke and dated observation do not establish authentication, representative external-agent or user
operation, deployment, production readiness, or capabilities beyond the current independent-scalar-Entity and
public-index slice.
31 changes: 16 additions & 15 deletions skills/create-full-stack-app/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: "create-full-stack-app"
description: "Experimental and in development: Authors and revises a complete First Draft Foundation Plan, validates its JSON structure when a compatible local validator is available, submits exact Plan bytes, waits for bounded whole-graph analysis, and can invoke the prepared narrow Rails web-and-iPhone Compilation path through an unreleased CLI; that path has not completed an end-to-end journey. It preserves subject identity, product meaning, conditional-write state, explicit approval, and recovery boundaries. Arbitrary applications, deployment, Android, iPad, and broader web or native clients are not available."
description: "Experimental and in development: Authors and revises a complete First Draft Foundation Plan, validates its JSON structure when a compatible local validator is available, submits exact Plan bytes, waits for bounded whole-graph analysis, and can invoke the prepared narrow Rails web-and-iPhone Compilation path through an unreleased CLI. It preserves subject identity, product meaning, conditional-write state, explicit approval, and recovery boundaries. Arbitrary applications, deployment, Android, iPad, and broader web or native clients are not available."
---

# Create a Full-Stack App with First Draft
Expand All @@ -26,19 +26,20 @@ that exposure with the user instead of adding it merely to satisfy the iPhone re
importable for editing but cannot pass the current Compilation analysis gate. Appearance, nonempty delivery,
Android, iPad, broader Scaffolds, and other graph breadth remain blocked.

The prior `rails-sketch/2026-07` journey is the only complete local evidence. First Draft's committed controlled CLI
smoke at server baseline `9e29606` reproducibly exercises an installed CLI, loopback Rails, and real Solid Queue
through 151-file application materialization. Separately, a one-off observation on 2026-07-30 used a fresh Codex
invocation at Skill baseline `e24b438`, server baseline `9e29606`, and CLI baseline `36f1292` to go from a prose
request through valid analysis and Movie application materialization. That observation is not a reproducible agent
eval. Neither form of evidence makes the unauthenticated local transport, CLI, or Skill released or published, and
neither is representative-user, deployed, or production evidence. The successor `rails-sketch/2026-08` authoring
and contract fixtures have not completed that end-to-end journey; they are not execution evidence. The prior smoke
exercised the successful start, status, artifact, and materialization path, not cancellation, and was bounded to one
Entity using supported scalar Fields. The prepared 2026-08 web-and-iPhone implementation and contract have not
completed an end-to-end 2026-08 journey. There is no Plan GET or pull operation, complete semantic analyzer,
Publish action, arbitrary application generation, deployment workflow, or support for the rest of the Foundation
Plan.
The current `rails-sketch/2026-08` path has bounded local evidence. First Draft's committed controlled CLI smoke
reproducibly drives an installed CLI through loopback Rails, real Solid Queue, valid analysis, artifact verification,
and 194-file two-Entity materialization. Separately, one staff-prepared fresh-agent observation authored Movie and
Director from prose and compiled once. The fresh agent session ended after the unmodified output passed its generated
checks. A later operator performed Rails setup and used a temporary test-only copy to display live generated Rails
pages in an iPhone Simulator. See the
[current evidence boundary](references/foundation-plan-019.md#current-evidence-boundary) for the exact provenance
and limitations.

The fresh-agent observation is not a reproducible agent evaluation or representative-user evidence. Both paths
remain local, unreleased, unpublished, unauthenticated, and bounded. They do not establish cancellation, a physical
iPhone, iPad, deployment, or production readiness. There is no Plan GET or pull operation,
complete semantic analyzer, Publish action, arbitrary application generation, deployment workflow, or support for
the rest of the Foundation Plan.

## Load the relevant references

Expand Down Expand Up @@ -210,7 +211,7 @@ Before invoking the command:
Fields, the exact public-index Scaffold, optional semantic Entity icons, and a selected iPhone project under
`ios/`. A domain is admitted only with `native.ios`, and selected iOS requires at least one admitted public-index
navigation entry. That entry exposes the Entity's records on an unauthenticated public web index and must reflect
the user's confirmed intent. This boundary has not completed an end-to-end 2026-08 journey. Do not imply that
the user's confirmed intent. Do not imply that
Appearance, nonempty delivery, Android, iPad, broader Scaffolds, References, Associations, Accounts, Policies,
arbitrary Foundation Plans, or deployment are supported.
4. Run exactly:
Expand Down
36 changes: 22 additions & 14 deletions skills/create-full-stack-app/references/foundation-plan-019.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,17 +32,24 @@ authorized.
are rejected atomically by the importer as described below.
- The project-scoped server implements bounded AnalysisRun status and Compilation start, status, cancellation, and
artifact transport for the reviewed CLI contract.
- The prior `rails-sketch/2026-07` journey is the only complete local evidence. First Draft's committed controlled
CLI smoke at server baseline `9e29606` reproducibly exercises an installed CLI, loopback Rails, and real Solid
Queue through 151-file application materialization.
- Separately, a one-off observation on 2026-07-30 used a fresh Codex invocation at Skill baseline `e24b438`, server
baseline `9e29606`, and CLI baseline `36f1292` to go from a prose request through valid analysis and Movie
application materialization. That observation is not a reproducible agent eval.
- The successor `rails-sketch/2026-08` schema, examples, evals, and API-contract fixtures have not completed that
end-to-end journey and are not execution evidence.
- The prior path remains unreleased, unpublished, unauthenticated, local, and bounded to one Entity using supported
scalar Fields. It exercised successful Compilation start, status, artifact, and materialization, not cancellation.
Neither form of evidence is representative-user, deployed, or production evidence.
- First Draft's committed
[controlled CLI smoke](https://github.com/firstdraft/firstdraft/blob/5847a349599f3cc28e1e0a1a8d8bace6742be7c3/script/compilation_http_cli_smoke)
reproducibly drives the exact installed CLI through loopback Rails and real Solid Queue to valid analysis, one
Compilation, artifact verification, and 194-file two-Entity materialization. It checks matching web and iPhone
navigation declarations without executing the generated application.
- A
[dated field report](https://github.com/firstdraft/firstdraft/blob/16b056a6f55eb92cb6e5a6e02abd58e84b47abd5/docs/solutions/2026-07-31-fresh-agent-rails-and-iphone-compilation-field-report.md)
records one staff-prepared local observation using a fresh Claude Code Opus/high session, the exact
[`create-full-stack-app` Skill](https://github.com/firstdraft/skills/commit/5cad5acec23a983e6421d2d37420a74de63b47fb),
and the pins below. The agent authored Movie and Director from prose, reached graph-version-1 valid analysis,
invoked Compilation once, and materialized a 194-file, 542,894-byte artifact.
- The fresh agent session ended after the unmodified generated output passed its iOS doctor with 16 passes and no
failures, lint, an unsigned Xcode build, and generated Simulator tests. Afterward, an operator performed Rails
setup and used a temporary test-only copy to exercise live generated Rails pages, tab switching, and scrolling.
Manual Simulator inspection covered the Dynamic Island and bottom safe area.
- The field observation is not a reproducible agent evaluation, authenticated operation, representative-user
evidence, a published release, physical-device or iPad proof, deployment, or production evidence. Neither it nor
the controlled smoke widens the admitted graph or proves cancellation.
- There is no Plan GET or pull operation, complete semantic analyzer, Publish action, arbitrary application
generation, deployment workflow, or support for the rest of the Foundation Plan.

Expand All @@ -58,14 +65,15 @@ provenance rather than release or execution evidence. Its reviewed JavaScript-so
from an unreleased version number.

The activated server projections name analyzer release `foundation-plan-rails/application-2026-08` and compiler
release `foundation-plan-rails/compiler-application-2026-08`. These exact names are part of the successor contract,
not proof that an end-to-end journey has run.
release `foundation-plan-rails/compiler-application-2026-08`. These exact names are contract provenance; the dated
field report, not the names alone, is the bounded execution evidence.

The selected iPhone project composes `firstdraft/foundation-ios-core` revision
`aa2ac902fa52abab51a4502953b7b962f949a21d`, archive SHA-256
`0807e76cf02296af27d4eb1aae68e298beef162a7daa8a3da55d83e88ab6d748`. The archive excludes `.github` and is
materialized beneath `ios/`, including executable `ios/bin/ios`. This package is an iPhone baseline, not iPad
support, and these pins are prepared provenance rather than end-to-end execution evidence.
support. The pins alone are prepared provenance; the dated field report provides bounded execution evidence for one
composed output.

## Closed envelope

Expand Down
Loading