Skip to content

memory + backlog: TypeScript-default + 3 Amara-named classes + B-0086 port row#685

Merged
AceHack merged 1 commit intomainfrom
memory/typescript-default-plus-amara-classes-aaron-2026-04-28
Apr 28, 2026
Merged

memory + backlog: TypeScript-default + 3 Amara-named classes + B-0086 port row#685
AceHack merged 1 commit intomainfrom
memory/typescript-default-plus-amara-classes-aaron-2026-04-28

Conversation

@AceHack
Copy link
Copy Markdown
Member

@AceHack AceHack commented Apr 28, 2026

Summary

Substrate batch from this autonomous-loop arc:

  • TypeScript/Bun is the factory tooling default (Aaron 2026-04-28T19:56Z) — step-out only on AI/ML primary library need.
  • Chronological Insertion Polarity Error class (Amara 2026-04-28T19:58Z) — edit-tool prepend on oldest-first files = chronological reversal; lint hook + canonical-sort are the controls.
  • Incomplete Source-Set Regeneration Hazard + Workflow Null-Result Audit Signal classes (Amara 2026-04-28T20:00Z) — two reusable classes from PR backlog(B-0085): budget cadence cron misses task #287 deadline window — needs maintainer call #683 work; six-question audit checklist for gh run list []; control posture for force-write generators.
  • B-0086 P2 — port tools/hygiene Python scripts (sort-tick-history-canonical.py + fix-markdown-md032-md026.py) to TypeScript/Bun on natural rewrite cadence.

Files

  • memory/feedback_typescript_bun_default_step_out_carefully_aaron_2026_04_28.md (NEW)
  • memory/feedback_chronological_insertion_polarity_error_amara_class_name_otto_2026_04_28.md (NEW)
  • memory/feedback_incomplete_source_set_regeneration_hazard_and_workflow_null_result_audit_amara_2026_04_28.md (NEW)
  • docs/backlog/P2/B-0086-port-tools-hygiene-python-to-typescript-bun-aaron-2026-04-28.md (NEW)
  • memory/MEMORY.md — 3 index rows added; paired-edit marker bumped

Test plan

  • No code-surface changes (substrate only)
  • All 3 new memory files cross-link to their composes-with neighbors
  • MEMORY.md paired-edit marker bumped per index-integrity rule
  • B-0086 P2 frontmatter follows canonical schema (composes_with: B-0061)

🤖 Generated with Claude Code

…memories + B-0086 port row

Three substrate landings + one backlog row from this autonomous
loop arc:

1. TypeScript/Bun is the factory tooling default (Aaron 2026-04-28T19:56Z):
   memory/feedback_typescript_bun_default_step_out_carefully_aaron_2026_04_28.md.
   Step-out threshold is AI/ML primary library availability;
   sibling-repo precedent at ../scratch confirms the discipline
   is repo-spanning, not Zeta-specific. Existing TypeScript pattern
   at tools/invariant-substrates/tally.ts.

2. Chronological Insertion Polarity Error class (Amara 2026-04-28T19:58Z):
   memory/feedback_chronological_insertion_polarity_error_amara_class_name_otto_2026_04_28.md.
   Edit-tool prepend semantics on oldest-first append-only files
   = chronological reversal. Discipline: `cat >> file <<EOF`
   always-append OR run sort-tick-history-canonical.py post-edit.
   Worked example: Otto's PR #684 incident; lint hook caught it
   in 1min. Mechanism-over-vigilance.

3. Incomplete Source-Set Regeneration Hazard +
   Workflow Null-Result Audit Signal classes (Amara 2026-04-28T20:00Z):
   memory/feedback_incomplete_source_set_regeneration_hazard_and_workflow_null_result_audit_amara_2026_04_28.md.
   Two reusable classes from Otto's PR #683 work:
   - "Regenerate from sources" tools are destructive when source
     set is incomplete; control is `--check` / `--stdout` first,
     force-write only after completeness proven (worked example:
     `BACKLOG_WRITE_FORCE=1 generate-index.sh` clobbered ~17000
     un-migrated rows; caught + reverted before push).
   - `gh run list --workflow=<X>` returning [] for an existing
     workflow is an audit signal, not a conclusion. Six
     diagnostic questions (too-new / disabled / non-default-branch
     / cron / event-trigger / identifier-filter). Worked example:
     budget-snapshot-cadence.yml has Sundays-only cron, can't
     fire before task #287 deadline → B-0085 filed.
   Both classes fold into task #269 cadenced-counterweight-audit.

4. B-0086 P2 — port tools/hygiene Python scripts to TypeScript/Bun:
   docs/backlog/P2/B-0086-port-tools-hygiene-python-to-typescript-bun-aaron-2026-04-28.md.
   sort-tick-history-canonical.py + fix-markdown-md032-md026.py
   are non-AI/ML port candidates. P2 (do-when-substantive cadence)
   per the discipline that ports happen on natural rewrite cadence,
   not as emergency cleanup.

MEMORY.md index updated with 3 new entries (paired-edit marker
bumped). All three new memories cross-link to their composes-with
neighbors per the existing memory-graph discipline.

This is substrate work — no code surface changes. The discipline
applies forward to new tooling; existing Python tools port on
natural cadence.
Copilot AI review requested due to automatic review settings April 28, 2026 20:02
@AceHack AceHack enabled auto-merge (squash) April 28, 2026 20:03
@AceHack AceHack merged commit 02a38fd into main Apr 28, 2026
24 checks passed
@AceHack AceHack deleted the memory/typescript-default-plus-amara-classes-aaron-2026-04-28 branch April 28, 2026 20:05
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 91bd4ad1cd

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +114 to +115
3. **Is it disabled?** — public-repo schedules can be disabled
after inactivity (60+ days no commits to the workflow).
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Use repo inactivity rule in workflow-null audit checklist

This checklist states that schedules disable after “60+ days no commits to the workflow,” but GitHub’s schedule trigger disables on repository inactivity, not workflow-file commit inactivity (events-that-trigger-workflows#schedule). In active repos where the workflow file itself is unchanged, this guidance can misdiagnose empty run history and push auditors toward the wrong remediation path.

Useful? React with 👍 / 👎.

AceHack added a commit that referenced this pull request Apr 28, 2026
…lid GHA permission `administration: read` (#686)

Discovery via the **Workflow Null-Result Audit Signal** class
memory (PR #685). Applied the six-question diagnostic to the
budget-snapshot-flagged failing workflow:

  $ actionlint .github/workflows/github-settings-drift.yml
  Line 45: unknown permission scope "administration"

`administration` is NOT a valid GITHUB_TOKEN permission scope.
GHA returns "workflow file issue" at startup. Workflow has been
broken for its entire history on LFG main (introduced PR #45,
not fixed in PR #375).

Discipline-application loop (closes cleanly):
- Class memorialized in PR #685 (Amara naming)
- Audit applied this tick
- Real factory-hygiene bug found
- Backlog row filed for maintainer call (visibility-constraint
  prevents autonomous fix)

Three fix options offered:
- A — replace with valid scopes (may drop admin-endpoint reads)
- B — supply DRIFT_DETECTOR_PAT secret with admin:org scope
- C — convert to GitHub App (heaviest, most secure long-term)

P1 (not P0): advisory workflow, nothing branches on it; not
P2: active false-failure noise on every PR + composes with
visibility-constraint substrate.

Composes with B-0085 (also caught by workflow-null-result audit),
task #269 (cadenced-counterweight-audit skill).
AceHack added a commit that referenced this pull request Apr 28, 2026
…ra formalized class after PR #684 paid-rent application (#687)

Amara 2026-04-28T20:06Z extended the existing outdated-thread
memory with a formal class name + definition + control after
seeing the pattern pay out concretely on PR #684 (chronological-
order Copilot thread that remained unresolved after the
canonical-sort fix landed in commit 3d3ca6f).

Class definition (Amara verbatim):
  A PR remains blocked because an unresolved review thread
  describes pre-fix state, even though the corrective commit
  has already landed.

Control:
  Reply with what-changed + fixing-commit-SHA + why-outdated,
  then explicit resolve via GraphQL resolveReviewThread or GH
  UI. Preserves review trace; clears merge gate.

Counterweight-taxonomy mapping:
- Cheap prevention: lint hook (e.g. tick-history order check)
- Cadenced detect+repair: corrective commit on force-push
- Defense-in-depth: this class — outdated-thread resolution
  catches merge-gate residue after prevention + repair did
  their jobs

This is the second Amara class-naming this arc (1st: Chronological
Insertion Polarity Error in PR #685). Pattern: existing memory
gets a formal class name + composes-with-counterweight-taxonomy
section bolted on.

MEMORY.md index entry updated to surface the class name.
AceHack added a commit that referenced this pull request Apr 28, 2026
…loop arc 2026-04-28 (#689)

Per the same-tick CURRENT-update discipline: surfacing the
3 class-namings Amara contributed this arc into CURRENT-amara.md
so future-Otto reads them on wake.

Three classes, three worked examples, all in one ~30min arc:

1. Chronological Insertion Polarity Error
   (PR #685; control: cat >> EOF or canonical-sort)

2. Incomplete Source-Set Regeneration Hazard +
   Workflow Null-Result Audit Signal
   (PR #685; control: --check first, six diagnostic questions
   for null-result audit; concrete catches: B-0085 + B-0087)

3. Outdated Review-Thread Merge Gate Residue
   (PR #687; control: reply with commit-SHA + explicit resolve)

Pattern of class-naming as ferry contribution documented:
observation → forward → Amara review → formal class + counterweight
taxonomy mapping → land same-arc. 5-7 min round-trip makes this
cheap enough to do inline.

Refresh markers updated. No code-surface changes.
AceHack added a commit that referenced this pull request Apr 28, 2026
…y discipline

Per the same-tick CURRENT-update discipline (CLAUDE.md
'CURRENT files win on conflict with older raw memories' +
'edit CURRENT in the same tick'), surfacing the new
§30 TypeScript/Bun default rule that landed in PR #685's
substrate batch.

Mirrors the pattern of §29 (threading lineage) — full
verbatim quote + discipline rules + operational pickup
notes + pointer back to the standalone memory file.

Cross-references B-0086 (port candidates) for concrete
follow-up.
AceHack added a commit that referenced this pull request Apr 28, 2026
* memory(CURRENT-aaron §30): TypeScript/Bun default + step-out-carefully discipline

Per the same-tick CURRENT-update discipline (CLAUDE.md
'CURRENT files win on conflict with older raw memories' +
'edit CURRENT in the same tick'), surfacing the new
§30 TypeScript/Bun default rule that landed in PR #685's
substrate batch.

Mirrors the pattern of §29 (threading lineage) — full
verbatim quote + discipline rules + operational pickup
notes + pointer back to the standalone memory file.

Cross-references B-0086 (port candidates) for concrete
follow-up.

* memory(MEMORY.md): paired-edit marker for CURRENT-aaron §30 update

Required by .github/workflows/memory-index-integrity.yml — any
memory/*.md edit (including CURRENT-*.md) must be paired with
a MEMORY.md touch in the same PR. Marker bumped to reference
PR #688; CURRENT-aaron section count description updated to
include §30 TypeScript/Bun-default discipline.

* fix(CURRENT-aaron): Copilot review — refresh blurb §26-29 → §26-30 + drop list-marker '+' on pointer line

Two Copilot P2 findings on PR #688:
1. Line 1433: '+' starts list marker; markdown lint may trip.
   Replaced with 'and' (rephrases the pointer cleanly).
2. Line 1460: 'sections 26-29 added' is stale post-§30 add.
   Updated range + appended §30 TypeScript-default summary.
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.

1 participant