feat(ghcache): ship a default gh-api read-cache classifier (from coily gh_readcache) #90
Labels
No labels
burndown-2026-06
sunday-sprint
coherence-core
consult
headless
interactive
P0
P1
P2
P3
P4
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
coilyco-flight-deck/cli-guard#90
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Source:
cmd/coily/gh_readcache.go-ghReadCacheClassifier, helpersisBodyFlag,readMethodFlag. Comment in-file cites cli-guard#76.What it does: recognizes a cacheable
gh api <path>GET (declines on body flags or non-GET method) and returns the path + maxAge, in the exact shape cli-guard'spassthrough.ReadCacheClassifierexpects. It is already written to a cli-guard interface - this is shipping the canonical default implementation upstream.Generic core (lift this): the whole classifier. No coily/Kai/Forgejo identifiers.
Consumer seam to parameterize: the only coupling is
loadGHMaxAge()(coily'sCOILY_GH_MAX_AGE/--max-ageresolver). Inject maxAge as afunc() time.Durationinstead of a package global.Bundle (de-dup): the
gh apiargv grammar (isBodyFlag/readMethodFlag) is triplicated across coily - also ingh_actions_gate.go(isActionsAPIPath) andgh_issue_create_gate.go(parseGHAPIArgs/ghAPIMethodFlag/ghAPIFieldFlag/isIssuesCollectionPath). Land one canonical gh-argv parser (candidateghargv) that this classifier and both gates consume. Note: those two gates themselves stay in coily (their block messages encode Kai's Forgejo-over-GitHub + Playwright-only-CI policy) - only the parser moves.Suggested home (pre-refactor):
ghcache(or a newghargv).Done when:
godoc-current.txtregenerated (scripts/check-godoc-current.sh --update)make testgreen both sidesclosesthis issueRelated: the gate policy bodies stay in coily; see also cli-guard#76 (scrub coily* references).
Backlog burndown 2026-06-17: closing low-priority (P3/P4) to bring the open count to a manageable level. Nothing lost — reopen if this resurfaces. Batch tag:
burndown-2026-06.