Skip to content

Point one-tap records at the Guide and return Unlike to the parent - #126

Closed
raghubetina wants to merge 1 commit into
mainfrom
skill-one-tap-live
Closed

raghubetina wants to merge 1 commit into
mainfrom
skill-one-tap-live

Conversation

@raghubetina

Copy link
Copy Markdown
Contributor

Why

firstdraft/firstdraft#1005 makes the Compiler emit a one-tap button for a no-input associated create, and a Like/Unlike toggle when the record also has a uniqueness rule over the parent and the signed-in Account References and an owner-authorized destroy. A create returns to the parent page. The destroy keeps its own destination, so Unlike returns to the parent only when the Plan authors destroy.return_to through the parent Reference (for example like.post); otherwise it goes to the ordinary delete destination, which is Home for a Like with no index. The Skill's Like example authored no such return, and its "deployed Compiler may still show a separate Create page" caveat stops being true once #1005 deploys.

This change:

  • makes the Like fragment in references/examples.md a byte-for-byte copy of the public Guide's No-input records example (single like.manage_own manage Policy, destroy.return_to through like.post), and points the modeling-guide cue and the example at that anchor;
  • says toggles author that return so Unlike stays on the parent page, and removes the separate-Create-page caveat;
  • names the no-input exception in the associated-create return and entry-point passages of references/modeling-guide.md and references/foundation-plan-023.md;
  • adds to the signed-in gate example that a guest is sent to sign in and returns to the page they asked for, which #1005 also ships;
  • adds a one-tap-like-record eval expectation for destroy.return_to through Like's Recipe Association.

SKILL.md, references/interview.md, and the modeling guide's implementation-notes section are untouched, so this stays clear of skill-fit-check. The commit merges cleanly onto plugin-0-8-4.

Release: fold this into the 0.8.4 release branch plugin-0-8-4; do not release it on its own. It must publish only after firstdraft/firstdraft#1005 is merged and deployed and Pages republishes the Guide anchor. Version, CHANGELOG label, and plugin_source.tarball_sha256 are left for that branch, so hosted CI's pinned-CLI package step is expected to fail on the digest here (packed with pinned CLI 2f4bc93, this branch alone gives 1b0c167991c577925f6cea573f23d7633ab7f570a81255ac25ee3cbc76024966; the release branch repacks it). Local npm ci --ignore-scripts && npm audit && sh script/check passes (85 tests, 0 vulnerabilities), including the schema test that validates the copied Like fragment.

Proposed CHANGELOG bullet for the 0.8.4 entry:

- Records made by a tap, such as likes and follows, now match the Compiler's one-tap button: a tap creates the
  record and returns to the parent page. For a toggle, the Skill also authors `destroy.return_to` through the parent
  Reference, so Unlike returns to the parent page; without it, Unlike goes to the ordinary delete destination, such
  as Home. The Like example is a copy of the Foundation Plan Guide's
  [No-input records](https://firstdraft.github.io/firstdraft/docs/architecture/design/foundation-plan.html#no-input-records)
  example. An existing Plan with a Like/Unlike toggle can add the same `destroy.return_to`. The 0.8.3 note that the
  deployed Compiler may still show a separate Create page no longer applies. In an app where every page requires
  sign-in, a guest who opens a page is sent to sign in and returns to that page afterwards.

Docs: updated the Skill's modeling guide, examples, and Foundation Plan reference for one-tap records and guest sign-in; the CHANGELOG bullet above goes into the 0.8.4 release branch.

firstdraft/firstdraft#1005 ships the one-tap Compiler change tonight:
a no-input associated create renders as a button on the parent page
and returns there, and a uniqueness rule plus an owner-authorized
destroy turn the button into a Like/Unlike toggle. The destroy keeps
its own destination, so Unlike returns to the parent only when the
Plan authors destroy.return_to through the parent Reference;
otherwise it goes to the ordinary delete destination, which is Home
for a Like with no index. The Skill's Like example authored no such
return, so an agent copying it would send every Unlike to Home.

The Like fragment is now a byte-for-byte copy of the Guide's
No-input records example, including destroy.return_to through
like.post, and the modeling cue and example link the public Guide
anchor. The caveat that a deployed Compiler may still show a
separate Create page is removed because publication follows the
deploy. The associated-create return and entry-point passages name
the no-input exception so they no longer contradict it.

The same pull request sends guests who request a protected page to
sign-in and returns them afterwards; the signed-in gate example now
says so.

The one-tap-like-record eval expects the authored return; it was not
run. The Like fragment passes the schema test in
test/repository.test.mjs. The tarball digest is left for the 0.8.4
release branch, which repacks it.
@raghubetina

Copy link
Copy Markdown
Contributor Author

Superseded: shipped in plugin 0.8.4 through #125 (claude-v0.8.4, skills 450ea99), now npm latest and selected in the catalog.

@raghubetina raghubetina closed this Oct 5, 2026
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