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
19 changes: 12 additions & 7 deletions .marketing/announced-ledger.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,16 @@ history but absent here are the untold backlog.
| agentfactory launch: formulas, SKILL.md→agent pipeline, crash/compression recovery, inter-agent mail, fidelity gates | Medium article "95% reliable agents give you 86% reliable workflows" | 2026-07-11 | https://medium.com/@glennstempeck/95-reliable-agents-give-you-86-reliable-workflows-b264170eb66c |
| Same launch story, short form (SKILL.md→agents, formula separation, docker factory floor) | LinkedIn post (Glenn's hook) | 2026-07-11 | (post URL not captured — lnkd.in shortlink used) |
| v0.1.0 release: 19 formulas, web console, dispatch pipeline, themed CHANGELOG | GitHub release + README landing page | 2026-07-11 | https://github.com/stempeck/agentfactory/releases/tag/v0.1.0 |
| agentfactory web console + Run telemetry (observability: the Floor view, per-step timing + per-run token/cost, honest degradation banner) | Medium article "I run a factory of AI agents. Here's the window into it." | 2026-08-03 | https://medium.com/@glennstempeck/i-run-a-factory-of-ai-agents-heres-the-window-into-it-ad0321bfce9f |
| Same story, short form (web console = the control room; telemetry; continuous improvement loop) | LinkedIn post (Glenn's edited short version) | 2026-08-03 | https://www.linkedin.com/posts/glenn-stempeck_i-run-a-factory-of-ai-agents-heres-the-share-7490182070434951168-Jwbi/ |
| v0.2.0 release: Run telemetry, multi-provider agents (OpenAI via gateway + gpt-* formulas), operator-only factory teardown, reliable improvement self-edits, web console Telemetry view, +5 formulas (24 total), +7 skills documented (10 total) | GitHub release + README/CHANGELOG refresh (PR #95) | 2026-08-03 | https://github.com/stempeck/agentfactory/releases/tag/v0.2.0 |

## Untold backlog (from cycle-1 audit, top candidates)
- Web console: browser formula authoring, floor view, operator mail (#72, #81, #83)
- Fable agent family: fable-implement / fable-increment / fable-review (#83)
- Autonomous dispatch: label matching, issue→PR handoff, cycle locking (#38, #79)
- Self-improving agents / improvement hook (#83)
- Per-agent model selection (#81)
- Marketing-cycle itself (the dogfooding story — agent that markets its own repo)
## Untold backlog (updated cycle-2, top candidates)
Now told (cycle-2): web console (Floor view) + telemetry, multi-provider agents, operator-only
teardown, self-improving agents (mentioned). Still untold:
- Fable agent family: fable-implement / fable-increment / fable-review / fable-secure (#83) — named in the formula table only, never a story
- Autonomous dispatch pipeline: label matching, issue→PR handoff, cycle locking, phase advancement (#38, #79)
- Per-agent model selection + in-session gate continuation (`af done --phase-complete --gate`) (#81)
- Browser formula authoring in the web console (#83) — mentioned in the cycle-2 article's tour, never its own story
- Marketing-cycle itself (the dogfooding story — an agent that markets its own repo; surfaced obliquely in the cycle-2 article but never told head-on)
- Machine-readable JSON contracts (`af agents/dispatch/formula ... --json`), `af handoff`, `af watchdog`
30 changes: 30 additions & 0 deletions .marketing/cycle-af-50cdad6b-log.md
Original file line number Diff line number Diff line change
Expand Up @@ -136,3 +136,33 @@ Verified cycle outputs against the approved runbook (the standing contract).
No deviations.

SELF-VERIFY VERDICT: PASS

## PHASE-6 — Verify every published page

Two published URLs (Medium, LinkedIn). Medium: full-content fetch + screenshot (got past the
Cloudflare challenge on retry). LinkedIn: public fetch (its dynamic/gated render defeats headless
screenshot — degraded mode noted; the source was plain text, so the raw-markdown failure class
does not apply the same way).

Per-URL checklist:

**Medium** — https://medium.com/@glennstempeck/i-run-a-factory-of-ai-agents-heres-the-window-into-it-ad0321bfce9f
1. Literal `##`/`**`/backticks/raw `[text](url)`? **none** — `quickdocker.sh <your-repo> --web`
renders as inline code; em-dashes and prose render cleanly.
2. Missing/duplicated/placeholder images, stray alt-text? **none** — both screenshots (Floor,
Telemetry) render; 2 content images confirmed by fetch + screenshot.
3. Subtitle as body paragraph / stray leading `# `? **none (after fix)** — FINDING on first pass:
the subtitle sentence was sitting as the first body paragraph (deck field empty). Exact fix
posted to #96; operator applied it. Re-screenshot confirms the subtitle now renders as the grey
deck directly under the title (above the byline) and is no longer duplicated in the body; the
body starts with the question hook. (Operator also reworded the opening at publish — his
canonical edit.)
4. Repo checks: `gh repo view --json homepageUrl` = the article URL; topics include claude-code,
ai-agents, multi-agent-systems, agentic-ai; `topic:claude-code` search lists stempeck/agentfactory.
**all pass.**

**LinkedIn** — https://www.linkedin.com/posts/glenn-stempeck_...-7490182070434951168-Jwbi/
1-3. Public post readable; plain text, no literal markdown; no images-broken/subtitle concerns
(short-form plain-text post). Degraded verification (public fetch only) noted. **none.**

PHASE-6 VERDICT: PASS
53 changes: 53 additions & 0 deletions .marketing/cycle-af-50cdad6b-publish-checklist.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Publish checklist — cycle-af-50cdad6b (flagship: web console + telemetry)

Tier B is yours to publish — I prepped the mechanics; you click. **Order matters:** the LinkedIn
post links to the Medium article, so Medium goes first. Record each URL in the form at the bottom
(or write SKIP). When you record the Medium URL I'll point the repo homepage at it and verify
every page.

Assets (all in `.marketing/`): `cycle-af-50cdad6b-paste.html` (Medium rich-text vehicle),
`cycle-af-50cdad6b-console-floor-diagram.png`, `cycle-af-50cdad6b-telemetry-diagram.png`,
`cycle-af-50cdad6b-medium.md`, `cycle-af-50cdad6b-linkedin.md`.

## 1. Medium (first)

1. New story. **Title field:** `I run a factory of AI agents. Here's the window into it.`
2. **Subtitle field** (the small-T line under the title — it's also Google's meta description):
`The agentfactory web console - a loopback control room for your Claude Code agents - and the telemetry view I just added, so you can finally SEE where an agent's time and tokens go`
3. **Body:** open `cycle-af-50cdad6b-paste.html` in a browser. Ignore the yellow instruction box.
Select from the first paragraph ("Here's a thing nobody tells you…") through
"Learn it, Live it, Share it!", copy, and paste over Medium's story body. Medium ignores pasted
markdown, which is why we use this rich-text file instead of the `.md`.
4. **Verify the two images survived** the paste (Floor view, then Telemetry view). If an image
didn't come through, drag the PNG in at its `[SCREENSHOT]` spot.
5. **5 topics** (the proven mix — 2 precise + 1 giant + 2 professional):
`AI Agents`, `Claude`, `Artificial Intelligence`, `Software Engineering`, `Agentic AI`.
6. Skim for strays: no leading `# `, no literal `##`/`**`, no alt-text sitting as a caption, the
subtitle is in the subtitle field (not a first body paragraph).
7. Publish → copy the URL into the form below.

## 2. Repo homepage (after the Medium URL is recorded)

Leave this to me: once you record the Medium URL, I validate it against the runbook's homepage
allowlist (`https://medium.com`) and run `gh repo edit --homepage <url>`. No action from you.

## 3. LinkedIn (after Medium is live)

1. Open `cycle-af-50cdad6b-linkedin.md` and copy the plain text between the `---` lines
(PLAIN TEXT — LinkedIn renders no markdown).
2. In the last line, replace `<MEDIUM ARTICLE URL — paste after publishing the Medium piece>`
with the real Medium URL from step 1. (`Get it:` already points at the repo.)
3. Attach the two screenshots (Floor view + Telemetry view) as images on the post.
4. Post → copy the URL into the form below.

## Publish record (fill this in — this is what resolves the gate)

```
- Medium URL: https://medium.com/@glennstempeck/i-run-a-factory-of-ai-agents-heres-the-window-into-it-ad0321bfce9f
- LinkedIn URL: https://www.linkedin.com/posts/glenn-stempeck_i-run-a-factory-of-ai-agents-heres-the-share-7490182070434951168-Jwbi/
- Notes: Both published by operator 2026-08-03 (recorded via issue #96). Repo homepage updated
to the Medium URL (allowlist-validated). Gate `published` resolved.
```

Once the URLs are here (or SKIP), I update the homepage, then verify every published page
(fetch + the checks in Phase 6) and post any exact "search for / replace with" fixes back here.
78 changes: 78 additions & 0 deletions .marketing/cycle-af-50cdad6b-report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# Cycle-2 Report — stempeck/agentfactory (bead af-50cdad6b)

*2026-08-03. Flagship: the agentfactory web console + its new Telemetry view. Boundary: v0.1.0.*

## Summary

Audited development since v0.1.0, found the #92 feature wave (telemetry, multi-provider agents,
operator-only teardown, self-improvement) largely untold and three stale README claims. Proposed
telemetry as the flagship; the operator approved, then on draft review reframed the story around
the **web console** (the human's control room) with telemetry as the exciting new part, and
asked for broader feature coverage and screenshots. Shipped a Tier A docs refresh + v0.2.0
release, and the operator published a Medium article and LinkedIn post. Every published page was
verified; one subtitle fix was applied and re-verified.

## Shipped autonomously (Tier A — merged via PR #95)

- **3 stale README claims fixed:** `af version`→`af --version`; formula count 19→**24**; skills
3→**10** — each verified against source.
- **New coverage:** README Observability section + `af telemetry` command reference; Web Console
section now surfaces the Floor view and Telemetry view; multi-provider (`af config models`,
`gpt-*`) and `af improvement` noted; formula/skills tables expanded. CHANGELOG `[Unreleased]`
(retitled to v0.2.0 in this state PR).
- **Release:** [v0.2.0 — observability & multi-provider agents](https://github.com/stempeck/agentfactory/releases/tag/v0.2.0), themed notes, cut from merged main (main was green).
- Gates: GATE-1, GATE-3 (+web-console addendum), SELF-REVIEW, SELF-VERIFY, PHASE-6 all PASS.

## Published by the operator (Tier B — staged by agent, published by Glenn)

- **Medium:** "I run a factory of AI agents. Here's the window into it." —
https://medium.com/@glennstempeck/i-run-a-factory-of-ai-agents-heres-the-window-into-it-ad0321bfce9f
(built on real telemetry from this cycle's own run; two live-console screenshots). Repo homepage
now points at it.
- **LinkedIn:** operator's edited short-form version —
https://www.linkedin.com/posts/glenn-stempeck_i-run-a-factory-of-ai-agents-heres-the-share-7490182070434951168-Jwbi/

Delivery mechanics: rendered the Medium article to a self-contained rich-text page (Artifact) so
the operator could copy-paste past Medium's markdown-eating; provided the LinkedIn plain text +
screenshots. Post-publish, caught and fixed the subtitle sitting as a body paragraph.

## Skipped / not done, and why

- **No new issues filed:** the audit surfaced no genuine new gaps (main green; existing
#84/#75/#73/#85/#86 already track known work). Did not invent issues.
- **Multi-provider was deliberately NOT the flagship:** leading with "runs on OpenAI too" would
contradict the README's honest-scope line. Shipped as documented capability instead.

## Operator-click items (no API reaches these)

- None outstanding this cycle. (Profile pins, social preview were resolved in cycle-1; the CLA on
the bot-authored PR was cleared by the operator's admin-merge — noted for next time: commits are
authored `agentfactory <dev@agentfactory.local>`, which the CLA assistant can't match, so a
Tier A PR needs an admin-merge or a CLA-signed author identity.)

## Voice calibration learned this cycle

- The operator wants LinkedIn posts **short** ("keep it short and concise or … everyone will
suspect its AI written"). Recorded in the runbook Voice section; his ~140-word edited post is
the new short-form calibration source.
- Human-operator perspective beats agent-narrating-itself; honest limitations should be woven in
(or dropped) rather than dumped as a "what's rough" list.

## Top 3 candidates for next cycle

1. **The dogfooding story, told head-on** — an agent that runs its own repo's marketing cycle
(this very process). Surfaced obliquely this cycle; it's a unique, shareable narrative.
2. **Multi-provider agents** — now that it's documented, a focused piece: "your specialist agents
don't all have to run on Claude" (gpt-* formulas + the gateway), framed to not undercut the
Claude-Code-first positioning.
3. **Browser formula authoring** — the web console lets you author formulas in the browser; a
short visual piece (screenshots/gif) would land well after this cycle introduced the console.

## Recrawl check (~2 weeks, ≈2026-08-17)

- Web search `"Glenn Stempeck" agentfactory` and `"I run a factory of AI agents"` — expect the
Medium article + the repo to surface.
- `site:medium.com glennstempeck telemetry` — expect the new article.
- Spot-check GitHub topic pages (claude-code, ai-agents) still list the repo (API-confirmed live).
- Confirm the repo homepage still resolves to the Medium article (visibility-health workflow
alarms on drift; don't duplicate it).
4 changes: 2 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
Notable changes to agentfactory. The project began 2026-05-01; snapshot tags `V001`–`V012`
mark pre-release checkpoints. `v0.1.0` is the first formal release.

## [Unreleased]
## v0.2.0 — 2026-08-03

Development since v0.1.0.
Observability and multi-provider agents.

### Observability

Expand Down
Loading