Skip to content

feat: add fastly-fiddle skill - #11

Merged
jedisct1 merged 10 commits into
mainfrom
acme/add-fastly-fiddle
Jul 3, 2026
Merged

jedisct1 merged 10 commits into
mainfrom
acme/add-fastly-fiddle

Conversation

@acme

@acme acme commented Jul 1, 2026

Copy link
Copy Markdown
Member
  • Add fastly-fiddle skill for testing VCL against real Fastly edge infrastructure via Fastly Fiddle
  • Include SKILL.md entrypoint plus references for the HTTP API, test DSL, spec shape, CI integration, and falco-vs-fiddle trade-offs
  • Add run-fiddle.sh helper (publish/execute/stream) and robots.json example spec
  • List fastly-fiddle in README available skills

- Add fastly-fiddle skill for testing VCL against real
  Fastly edge infrastructure via Fastly Fiddle
- Include SKILL.md entrypoint plus references for the
  HTTP API, test DSL, spec shape, CI integration, and
  falco-vs-fiddle trade-offs
- Add run-fiddle.sh helper (publish/execute/stream) and
  robots.json example spec
- List fastly-fiddle in README available skills
@acme
acme requested a review from jedisct1 July 1, 2026 11:56
Comment thread skills/fastly-fiddle/references/spec-shape.md Outdated
Comment thread skills/fastly-fiddle/references/test-dsl.md Outdated
Comment thread skills/fastly-fiddle/references/spec-shape.md Outdated
Comment thread skills/fastly-fiddle/references/spec-shape.md Outdated
Comment thread skills/fastly-fiddle/references/falco-vs-fiddle.md Outdated
Comment thread skills/fastly-fiddle/references/spec-shape.md Outdated
Comment thread skills/fastly-fiddle/SKILL.md
Comment thread skills/fastly-fiddle/references/spec-shape.md Outdated
Comment thread skills/fastly-fiddle/references/spec-shape.md Outdated
Comment thread skills/fastly-fiddle/SKILL.md Outdated
Comment thread skills/fastly-fiddle/references/spec-shape.md Outdated
Comment thread skills/fastly-fiddle/references/ci-integration.md Outdated
Comment thread skills/fastly-fiddle/references/falco-vs-fiddle.md Outdated
acme added 7 commits July 2, 2026 09:08
- Add language tags to 13 unlabelled code fences (MD040)
- Wrap 5 bare URLs in angle-bracket autolinks (MD034)
- Align table columns and normalize formatting via Prettier (MD060)
- Convert the box-drawing flowchart in `falco-vs-fiddle.md` to a
  numbered list
- Replace `set var.used = a - b;` with compound assignment (`set
  var.used = a; set var.used -= b;`), which the current example got
  wrong
- Note that Fastly VCL has no binary arithmetic operator in a `set`, a
  constraint independent of the parenthesized-concat rule
- Delete `references/ci-integration.md`; the Mocha/GitHub Actions
  boilerplate duplicated common knowledge
- Add concise "Testing in CI" section to `SKILL.md` with the
  demo-fiddle-ci pointer and publish-once/re-execute-per-scenario fact
- Drop the CI integration row from the references table
- Drop decision matrix from falco-vs-fiddle.md; core rows
  duplicated SKILL.md's "When Fiddle, when Falco" table
- Preserve matrix-only context (falco is a Go reimplementation
  with compiler divergences) by folding it into the intro
- Clarify division of labor: SKILL.md table for quick decision,
  reference for reasoning, workflow, and DSL differences
- Drop conventional-range table, historical-idiom prose, and stale
  meta-note from spec-shape.md
- Keep actionable facts: 800–999 lint rejection, accepted range, `error
  602` redirect pattern
- Condense SKILL.md gotcha #7 and fix section anchor link
Comment thread skills/fastly-fiddle/scripts/run-fiddle.sh
Comment thread skills/fastly-fiddle/references/api.md
acme added 2 commits July 2, 2026 13:19
- GET's `valid` means "has executed", not "lints" — false for any
  un-executed fiddle
- `--id` reuse wrongly bailed with exit 2; skip the check since lint ran
  at create
- Breakage still surfaces via the existing "no results" (exit 4) path
- Distinguish `valid` semantics: compilation result on create/update vs
  execution status on `GET`
- Warn that a `GET` cannot tell a valid-but-unrun fiddle from a broken
  one (both return `valid: false`, empty `lintStatus`)
- Scope the lint-only error gate to create/update responses
- Document that `GET /fiddle/:id` requires `Accept: application/json`,
  else it returns the HTML app
@jedisct1
jedisct1 merged commit 6351c84 into main Jul 3, 2026
2 checks passed
@jedisct1

jedisct1 commented Jul 3, 2026

Copy link
Copy Markdown
Collaborator

Eval added, results are good, merging.

Thanks!

@jedisct1

jedisct1 commented Jul 3, 2026

Copy link
Copy Markdown
Collaborator
task none fiddle Δ Fisher p
fiddle-synthetic 0/5 (0%) 5/5 (100%) +100% 0.008
fiddle-redirect 0/5 (0%) 5/5 (100%) +100% 0.008
fiddle-cache-verify 0/5 (0%) 4/5 (80%) +80% 0.048
fiddle-origin-header 0/5 (0%) 3/5 (60%) +60% 0.167
pooled 0/20 (0%) 17/20 (85%) +85% 2.6e-08

Not perfect, but a massive improvement. Let's see what tweaks could be done to achieve a perfect score with the skills!

@jedisct1

jedisct1 commented Jul 3, 2026

Copy link
Copy Markdown
Collaborator

Mostly fixed by ea3623d .

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.

2 participants