Skip to content

Growth: promote 5 lessons from the fleet's local packs - #497

Merged
missingbulb merged 3 commits into
mainfrom
growth-promote-d20260727
Jul 28, 2026
Merged

Growth: promote 5 lessons from the fleet's local packs#497
missingbulb merged 3 commits into
mainfrom
growth-promote-d20260727

Conversation

@missingbulb

@missingbulb missingbulb commented Jul 27, 2026

Copy link
Copy Markdown
Owner

Refs #99. The growth-promote run for 2026-07-27. Nine members in the dispatch Context; seven of them had their local packs minted since the last run, so the candidate pool was unusually large. Not auto-merged — owner approval.

Two of the run's original seven were dropped in owner review (see the log at the bottom), leaving five.

Origin Rung → landing Generalized rule
EdFringeNow prose → packs/basics/skills/engineering-practices/SKILL.md pkill -f "<pattern>" matches the invoking shell's own command line, so the shell dies and everything chained after it is silently dropped. Never chain a -f pkill; bracket a character ("[h]ttp.server 8099") to break the self-match.
GoogleCalendarEventCreator prose → git-github-advanced git checkout <ref> -- <paths> writes <ref>'s committed tree over the working copy, destroying the uncommitted edits it was reached for — unrecoverably. Branch in place, or commit/stash first.
TLDR prose → generate-project-instructions A pack homes how we work; a statement of what the product does is a requirement and belongs in the executable spec and its suite, not in a pack (canon or local). Pack-worthiness is a question about the work, not about how load-bearing the code is.
VascularColoring prose → packs/research-project/RULES.md §1 An annotation overlay never uses a colour the signal itself carries — the mark vanishes exactly on the objects it exists to mark. And the overlay must show where the method breaks, as explicit checkable claims.
HelloWorldFlutterApp prose → packs/flutter/RULES.md pubspec.lock moving without pubspec.yaml moving is version skew, not a dependency change — an app commits its lockfile, so revert the churn a local SDK's differing resolution produced rather than gitignoring the file.

All five landed as prose. Four are in-flight behaviour (what the agent typed, which tool it reached for) or judgment (pack-worthiness) with no repo-state signature a conformance check could carry; the overlay-colour rule's grounded case is checkable, but only against a project's own render script — it is a local check in VascularColoring already, and generalizing the palette to canon has no target to scan. No conformance-backlog issues opened — these are prose-shaped, not deferred check work.

Notable rejections — already carried by the corpus

  • A stale origin/main makes work-scoped checks flag commits already on main → git-github-advanced, "A conformance finding on history you didn't write may be a stale diff base".
  • Never fabricate ground truth to make a dataset scorable; score at the tier its annotation supports → research-project §2, verbatim ("Ground truth is annotated, never fabricated… see §9 on validation tiers").
  • Generated/committed output is regenerated, never hand-edited → engineering-practices (GENERATED discipline) and research-project §2.
  • A constant duplicated across tiers needs one documented source plus a drift guard → engineering-practices (single-source-of-truth).
  • Poll get_check_runs, not get_status; read a non-PR run's job logs; reach GitHub via MCP not curlgit-github-advanced, three existing sections.
  • Never reintroduce a workflow whose only job is holding a secret → basics/scheduled-tasks.md (rejected in the 2026-07-26 run too).

Deferred, not rejected (real and portable, but the routing needs a new pack, which is its own PR and didn't fit this run's bound):

  • A geohash / spatial-index bounds query is a candidate query, never an answer — the cells cover the circle, so every candidate must survive a true-distance post-filter (ShoutsAndWhispers). No canon pack homes geospatial querying; it wants a minted stub rather than being wedged into firebase.
  • Playwright in this sandbox: launch with no executablePath, import the ESM entry (EdFringeNow, measured at ~220s of rediscovery over five sessions). No browser-automation pack exists.

Dropped in owner review

  • The SessionStart-hook-didn't-fire tell (was → packs/basics/RULES.md) — self-defeating where it landed: its premise is "no pack prose reached context", but it is pack prose, so in the only situation it describes it is not in context to be read. Detecting a hook that didn't fire belongs in code, not in the payload the hook delivers.
  • Probe a host the sandbox can't reach with a throwaway push-triggered workflow (was → git-github-advanced) — eliminated.

Stayed local as product-specific: LaughCounter's on-device audio boundary, ShoutsAndWhispers' presence/TTL and cross-tier constant table, EdFringeAllocator's year-folder and credential rules, EdFringeData's wire format and ticketStatus semantics, gRatio's g-ratio invariants, GCEC's extractor pipeline and architecture rules, TLDR's three version records.


Generated by Claude Code

Refs #99

From the 2026-07-27 promote window (9 members, 7 of them newly minted
local packs):

- engineering-practices: `pkill -f` self-matches the invoking shell
  (EdFringeNow).
- git-github-advanced: `git checkout <ref> -- <paths>` destroys
  uncommitted edits (GoogleCalendarEventCreator); probing an
  egress-blocked host with a throwaway push-triggered workflow
  (EdFringeNow).
- basics: the tell that the SessionStart hook did not fire
  (GoogleCalendarEventCreator).
- generate-project-instructions: a pack homes how we work, never a
  statement of what the product does (TLDR).
- research-project: an overlay never uses the signal's own colour, and
  shows where the method breaks (VascularColoring).
- flutter: don't commit lockfile churn from a local SDK (HelloWorldFlutterApp).

All seven landed as prose: each is in-flight judgment or knowledge with
no repo-state signature a check could carry.
claude added 2 commits July 28, 2026 13:23
Review on #497:

- The SessionStart-hook-didn't-fire rule is self-defeating where it landed.
  Its premise is "no pack prose reached context"; it IS pack prose, so in the
  only situation it describes it is not in context to be read. Removed rather
  than reworded — detecting a hook that didn't fire belongs in code, not in
  the payload the hook delivers.
- The pubspec.lock rule read as if the file shouldn't be tracked. An app
  commits its lockfile (libraries gitignore it); the churn is the skew between
  a local SDK's resolution and CI's. Restated around the actual signature —
  lock moved, yaml didn't — and given the concrete revert.

Refs #99
Review on #497: eliminate the "probe a host the sandbox can't reach with a
throwaway push-triggered workflow" rule.

Refs #99
@missingbulb missingbulb changed the title Growth: promote 7 lessons from the fleet's local packs Growth: promote 5 lessons from the fleet's local packs Jul 28, 2026
@missingbulb
missingbulb merged commit a5daddf into main Jul 28, 2026
1 check passed
@missingbulb
missingbulb deleted the growth-promote-d20260727 branch July 28, 2026 13:55
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