← Public packages
@kentcdodds/lineage
Interactive commit-level lines of kody, minus generated noise, as an offline-ready chart.
AGENTS.md
124 lines · 4.2 KB · Markdown@kentcdodds/lineage — agent notes
Human setup and intent live in README.md. This file is for
agents: imports, smoke checks, snippets, and edge cases. Secrets by name
only — never paste secret values. Do not disable live webhooks or jobs.
Secrets / surfaces
| Name | Kind | Notes |
|---|---|---|
githubLocWebhookSecret | user secret | HMAC for github-push webhook (x-hub-signature-256) |
- Job:
backfill-missing(cron*/30 * * * *, timezone America/Denver) — catch-up only; keep enabled. - Webhook:
github-push→./handle-github-webhook(responseMode: ack). - Hosted app:
https://kentcdodds.kody.run/packages/lineage - Dependency:
@kentcdodds/github
Import paths
| Export | Import |
|---|---|
| overview | kody:@kentcdodds/lineage |
| status | kody:@kentcdodds/lineage/status |
| series | kody:@kentcdodds/lineage/series |
| settings | kody:@kentcdodds/lineage/settings |
| backfill | kody:@kentcdodds/lineage/backfill |
| backfill-continue | kody:@kentcdodds/lineage/backfill-continue |
| ingest-missing | kody:@kentcdodds/lineage/ingest-missing |
| handle-github-webhook | kody:@kentcdodds/lineage/handle-github-webhook |
| commentary | kody:@kentcdodds/lineage/commentary |
| inspect-commit | kody:@kentcdodds/lineage/inspect-commit |
| reset-ingest | kody:@kentcdodds/lineage/reset-ingest |
| seed-highlights | kody:@kentcdodds/lineage/seed-highlights |
| seed-primitive-story | kody:@kentcdodds/lineage/seed-primitive-story |
| record-version | kody:@kentcdodds/lineage/record-version |
Prefer static kody:@kentcdodds/lineage/... imports from execute. Do not lead
with packages.invoke.
Smoke test (read-only)
import status from 'kody:@kentcdodds/lineage/status'
export default async function main() {
return await status()
// => { repo, ingest, commentaryCount, recentIngest }
}Optional series read (same numbers the UI graphs):
import getSeries from 'kody:@kentcdodds/lineage/series'
export default async function main() {
return await getSeries({ mode: 'cumulative' })
}Common snippets
Backfill a batch (writes storage; safe catch-up):
import backfill from 'kody:@kentcdodds/lineage/backfill'
export default async function main() {
return await backfill({ limit: 50 })
// Transient GitHub/CF failures may return { deferred: true }
// Slow listings stop early with { listingComplete: false, done: false }
}Inspect one commit's file classification:
import inspectCommit from 'kody:@kentcdodds/lineage/inspect-commit'
export default async function main() {
return await inspectCommit({
sha: '35878a47ef4aa3567eb6f6b5ea4d3d2c753934b5',
})
}Attach commentary:
import commentary from 'kody:@kentcdodds/lineage/commentary'
export default async function main() {
return await commentary({
sha: 'abc123',
label: 'Worker split',
narrative:
'The monolith was carved into the first dedicated worker package.',
})
}Edge cases
- Tracked repo is
kentcdodds/kody(application source), notuse-kody. - Generated / Linguist-generated /
@generated/DO NOT EDITpaths are skipped even when committed — use./inspect-committo debug empty buckets. - Prefer the
github-pushwebhook for new main commits; keepbackfill-missingenabled as coarse catch-up. Do not disable the webhook or job. backfill/ingest-missingmay returndeferred: trueon transient GitHub/Cloudflare failures instead of throwing — retry on the next tick. On the webhook path (explicit SHAs) any per-commit fetch failure is listed inerrorsand left forbackfill-missing, so the delivery still succeeds../reset-ingestwipes stored commit buckets so a recount can run after ignore-rule changes — confirm before calling../seed-highlightsand./seed-primitive-storyare safe to re-run; existing SHAs keep current commentary../record-versionafter publish with the published commit for the About view.- Never paste
githubLocWebhookSecretvalues into chat or logs.
Dependency note
Uses @kentcdodds/github, which authenticates via createAuthenticatedFetch on the github-bot / github-kent OAuth integrations (not mirrored github-*AccessToken user secrets).