Skip to content

Stop committing generated/* — gitignore + regenerate-on-trigger #93

Description

@hyperpolymath

Stop committing generated/*. Once the regeneration triggers + gateway are wired, generated artifacts (e.g. generated/k9iser/*.k9) should be .gitignored and produced on-trigger, not hand-committed (the rot that started this — k9iser#8 / idaptik#77). Blocked on sub-issues 1 + 2.

Activity

  1. hyperpolymath commented on May 19, 2026

    @hyperpolymath
    OwnerAuthor

    Blocker verification + prepared execution contract (session 2026-05-19)

    Blocker confirmed real

    Sub-issue 1 (iseriser scaffold roll): PARTLY DONE as of this session — see iseriser#12 (DRAFT PR, Refs standards#89). The scaffold now emits *-regen.yml and the unified adapter for NEW repos. The 28 existing -iser repos are NOT yet migrated (correctly: estate-wide mutation is blocked until sub-issue 2 is done).

    Sub-issue 2 (gateway tier-2 production-wiring): OPEN, ~8–12 weeks, external-scale. Until done, regen triggers are fire-and-forget loopback. Gitignoring generated/* BEFORE this is wired would break consumers (no regeneration path exists externally). The blocker is real.

    Conclusion: #93 remains correctly gated. Do NOT gitignore/delete committed generated/* now.

    Inventory of hand-committed generated/* across the estate (read-only sweep)

    66 tracked files across 10 repos:

    Repo Paths Count
    boj-server generated/abi/boj_catalogue.h, generated/alloyiser/boj_server.als, generated/alloyiser/run-analysis.sh 3
    idaptik generated/k9iser/*.k9 (3 files), generated/wokelangiser/compliance-report.txt, generated/wokelangiser/consent/ (3 files) 7
    reposystem generated/README.adoc 1
    stapeln generated/README.adoc, generated/alloyiser/stapeln.als, generated/alloyiser/run-analysis.sh 3
    burble generated/k9iser/*.k9 (4), generated/tlaiser/*.{cfg,tla,PlusCal.tla,sh} (12), generated/wokelangiser/ (4) 20
    gossamer generated/README.adoc, generated/tlaiser/*.{cfg,tla,PlusCal.tla,sh} (12), generated/wokelangiser/ (4) 17
    typed-wasm generated/abi/README.adoc 1
    panll generated/k9iser/*.k9 (6 files) 6
    echidna generated/abi/*.h (5 C headers), generated/alloyiser/echidna.als, generated/alloyiser/run-analysis.sh 7
    rb56-work generated/README.adoc 1

    Generator breakdown:

    • k9iser: k9iser-mcp cartridge (blocker = sub-issue 2 gateway)
    • tlaiser: tlaiser-mcp cartridge (not yet a boj-server cartridge)
    • wokelangiser: wokelangiser-mcp cartridge (not yet a boj-server cartridge)
    • alloyiser: alloyiser-mcp cartridge (not yet a boj-server cartridge)
    • abi/*.h / README.adoc: hand-generated headers/docs (not from any -mcp cartridge)

    Prepared .gitignore stanza (apply THE MOMENT sub-issue 2 unblocks)

    # generated/* — produced by boj-server -mcp cartridges on push via *-regen.yml.
    # DO NOT commit these. If missing locally, trigger regeneration:
    #   curl -X POST http://boj-server.local:7700/cartridges/k9iser-mcp/invoke \
    #     -d '{"repo": "hyperpolymath/<repo>", "tool": "k9_generate"}'
    # Standards#93 / #89 sub-issue 1+2 must be wired before this line is safe.
    generated/k9iser/
    generated/tlaiser/
    generated/wokelangiser/
    generated/alloyiser/
    generated/abi/

    Prepared regenerate-on-trigger contract

    Each repo's *-regen.yml (already scaffolded into new repos via iseriser#12) is the regeneration trigger. The workflow:

    1. Fires on push to main/master and workflow_dispatch
    2. Checks for the -iser.toml manifest presence
    3. POSTs to boj-server/cartridges/<name>-mcp/invoke with {"tool": "<name>_generate"}
    4. The cartridge regenerates generated/* and commits back (or pushes a PR) via the BoJ REST API

    Unblock condition: http-capability-gateway tier-2 production-wired (ADR-0004, standards#89 sub-issue 2, ~8–12 wk). When that ships:

    1. Apply the .gitignore stanza above to all 10 repos (one PR per repo or one batch PR)
    2. Remove committed generated/* files (they will be regenerated on next push)
    3. Verify all regen triggers fire successfully against the real gateway endpoint
    4. Close this issue

    🤖 Generated with Claude Code

  2. hyperpolymath commented on May 27, 2026

    @hyperpolymath
    OwnerAuthor

    Residue verified 2026-05-27 — leaving OPEN.

    The two blockers cited in the May 19 comment remain OPEN:

    • standards#90 (Roll unified-gated-adapter + SSE + regen-trigger into the iseriser scaffold) — still OPEN
    • standards#91 (http-capability-gateway tier-2 production-wiring (ADR-0004)) — still OPEN

    Until #91 ships, regen triggers are fire-and-forget loopback. The 66 hand-committed generated/* files across 10 repos (inventory in May 19 comment) cannot be gitignored without breaking consumers. Issue remains correctly gated.

  3. hyperpolymath commented on Aug 27, 2026

    @hyperpolymath
    OwnerAuthor

    Next step (re-verified 2026-08-27): generated/ is tracked on origin/main in ~15 repos (conflow 8, echidna 7, panll 6, januskey 6, laniakea 4, kea 4, boj-server 3, plus singles). Only reposystem does it right — .gitignore carries generated/* with the regen provenance comment, leaving generated/README.adoc tracked.

    → Replicate reposystem's gitignore+regen pattern across the ~14 remaining repos. Small per repo, gated on #90's regen trigger. Both provenance links in the body are dead: hyperpolymath/k9iser 404s and idaptik is now metadatastician/IDApTIK.

  4. hyperpolymath commented on Sep 19, 2026

    @hyperpolymath
    OwnerAuthor

    Measured today (2026-09-19) across the actual -iser fleet — the outcome this issue asks for is largely already true, and its own blockers have moved.

    I searched the estate for -iser repositories and found 27 (affinescriptiser, anvomidaviser, atsiser, betlangiser, bqniser, chapeliser, dafniser, eclexiaiser, ephapaxiser, futharkiser, halideiser, idrisiser, julianiser, lustreiser, mylangiser, nimiser, oblibeniser, otpiser, ponyiser, tlaiser, typedqliser, wokelangiser, and others) — consistent with #89's "28 -iser generators".

    Committed files under generated/: the issue wants these to stop being hand-committed.

    count
    repos with no generated/ at all 26 of 27
    repos still committing generated/* 1 — proven-servers (2 files, .gitignore does not cover them)

    So the rot this issue was filed about no longer exists at scale. The residual is one repo and two files.

    Blockers re-checked: this issue says "Blocked on sub-issues 1 + 2" — standards #89 / #90. Those are still open, and the regeneration-trigger half of the ask (produce on trigger) is theirs, not this issue's.

    Suggested disposition: the "stop committing generated/*" half is effectively delivered; either close this and let #89/#90 own the trigger wiring, or narrow it to proven-servers + whatever iseriser still emits. Both of the repos its preamble names (k9iser #8, idaptik #77) no longer exist in the org, so the original framing cannot be re-verified as written.

  5. added
    scope:estateAffects many or all repos across the estate
    status:blockedCannot proceed until a dependency clears
    tech-debtKnown shortcut, drift, or hygiene owed - includes cleanup
    on Sep 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    majorMajor / load-bearing workpriority:p3Low - nice to haverequirements-targetTracked requirements-target item (joint-close)scope:estateAffects many or all repos across the estatestatus:blockedCannot proceed until a dependency clearstech-debtKnown shortcut, drift, or hygiene owed - includes cleanup

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions