-
Notifications
You must be signed in to change notification settings - Fork 0
research: 2 Amara courier-ferry absorbs (live-lock taxonomy + canonical agent-attribution convention) #16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
2cba531
0c2452a
a690a7b
502cc6e
c0397a2
8791751
93dbab1
c091021
c7e396b
9ccdd2b
971ba80
965fc97
1a2bd3c
fcfb582
50ff5b2
52a569a
08bc877
ae2d829
8f06f2b
9c325c0
17d8e31
d6dbd56
e721796
fae0adc
933d9d7
bd014e6
fcd7da5
f7e7e4f
0249233
fb47a1c
cbb1641
478b54f
606293b
ac303b6
a0c6425
37fb2af
d3123f2
b8099b3
693e171
1e48b00
4838850
3425943
dfe1671
0fc13f2
4bfcc8d
5698f9d
b1b8849
a7982f8
d9f80b5
d7df43e
ae9de60
215a671
e95f49f
8ab3cb5
07132be
60b197c
e6b764e
49f7ebc
a5e3eff
535b3f8
4caa1ee
b38a295
4823b73
c7f8669
54d5c95
0495ba0
3ad4bcf
789dc53
2a2908e
e9cfd57
c61c6f5
87fcd86
1477dac
0ddeac9
e7349c5
d10d6e3
81f6356
8f542c9
b5a0731
b9e34d2
5df62de
e202f68
7ceec40
1ea5d8a
da06774
a5f938e
c200ba9
a6b8f4d
9a8cafe
1c2b64c
2a5b0cf
cd7b785
cafabf7
5ef3fe7
9d45a99
916d9c9
4de7179
bfb2466
fbbbf77
8566f41
8948ab5
15015fc
2c9ff4e
57d405f
e9d7b91
ab123d7
4d5495b
9373755
861c71a
d8411bf
5194f09
e1cc788
92c7e31
2e5579e
99c7e1d
bf6e042
1431949
7daebdf
114efe4
7803c3a
06f9b1b
23bc545
8ec4a54
39d3c0b
9d77cb9
b34dc69
e7b5f1c
2348710
e15e518
bf1f310
1cd62dd
c0de562
247c596
4f0b1ab
204e425
ffd17c7
9938906
6b3c53b
cf7d417
225a816
baa4883
156b7a3
e7e8666
42b78bf
48539a5
f20941e
14ace85
afa3656
4bdeb5c
999b807
6efb531
6445e67
6e86c68
397553c
953bcd0
1d60173
6986c59
b2ccd4a
45deb11
80e2bdd
8dbc425
2ac8b59
610ad28
315a911
629cf10
ec6f9c8
70bdd0c
b9609ff
30d64e8
c439ede
774c4e1
79962e5
29c9162
49144ce
515db64
5503bbb
804d544
2cd34d3
81654e7
5e2b6bd
dab1d01
5d1bfc2
7bf65e3
800d7b1
758cefd
000bb96
6b37d6c
cf229e7
06ef8e8
ae8527f
81dce13
6f4ae4a
e78b4cb
67d9ea8
1b270b7
0ab1bb7
c8fa5dc
680d13d
88c101f
c94e117
fcaa778
6d52863
ed463b1
9285df3
f1e6694
595a946
4fe8e27
4602b79
c6527ed
2f990ff
ef67f3b
d827494
5b421e9
f42e37e
f9e4499
0114630
4459663
a76cea6
59548cc
181930c
d488d0f
1c1bd95
6519796
8c349ce
3a17643
cfb0803
744e268
c47369a
6e6857e
1219911
b027e1f
12bb387
ac89629
06053b9
16321d4
da04874
1eb76ba
6fb93de
e2969f7
47213ec
ece2091
bbbae2a
efb29f6
b9467e7
85354cf
fecd8d0
05d274f
a1d781c
42612e6
c48173a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,199 @@ | ||
| --- | ||
| description: Non-interrupting aside — absorb the aside into substrate and continue current work (don't pivot unless the aside explicitly demands it) | ||
| --- | ||
|
|
||
| # /btw — maintainer aside without interrupting in-flight work | ||
|
|
||
| The human maintainer invoked `/btw` with an aside. The purpose | ||
| of this command is to **reduce maintainer interrupt cost**: the | ||
| aside carries context, a directive, a note, or a correction, | ||
| but should **not** derail whatever work-stream is currently in | ||
| flight unless the aside itself demands pivot. | ||
|
|
||
| ## Procedure | ||
|
|
||
| 1. **Read the aside verbatim from the invocation arguments.** | ||
| Treat the full argument string as signal — do not paraphrase | ||
| at capture time (signal-in-signal-out DSP discipline, | ||
| `memory/feedback_signal_in_signal_out_clean_or_better_dsp_discipline.md`). | ||
|
|
||
| 2. **Classify the aside** into one of: | ||
| - **Context-add** — maintainer is providing background that | ||
| informs current work (e.g. *"btw that library is MIT-licensed"*). | ||
| Absorb silently into the current task's reasoning; | ||
| acknowledge in one line. | ||
| - **Directive-queued** — maintainer is adding a new task | ||
| that should run *after* the current one (e.g. *"btw also | ||
| update the README"*). **Durability escalation is | ||
| mandatory:** classify the lifetime of the nudge: | ||
| - **Same-session only** (finish before session ends, | ||
| ephemeral) → TodoWrite task OR `.btw-queue.md` | ||
| (gitignored, session-scoped) is sufficient. | ||
| - **Cross-session** (might persist past this session's | ||
| context-compaction or into a fresh session) → MUST land | ||
| in a **durable store**: | ||
| - `docs/BACKLOG.md` row (committed; survives fresh | ||
| sessions; visible to all agents via grep) | ||
| - `memory/*.md` file (committed to the repo; | ||
| readable by fresh sessions via git / grep per | ||
| `memory/README.md` + GOVERNANCE §18). In-repo | ||
| memory is the durable mirror; auto-loading | ||
| behaviour depends on harness configuration and | ||
| is NOT universally guaranteed — treat durability | ||
| as "committed and discoverable" not | ||
| "automatically materialised in context." | ||
| - **MANDATORY pair when landing a new | ||
| `memory/*.md`**: update `memory/MEMORY.md` with | ||
| a pointer row in the same commit. Memory-index- | ||
| integrity rule: a new memory file without a | ||
| MEMORY.md row is effectively lost to fresh | ||
| sessions (the index is how discoverability | ||
| works). | ||
| Both are durable across sessions. Pick per scope: | ||
| BACKLOG for action-bearing work; memory for | ||
| factory-discipline / preference / substrate. | ||
| - **When in doubt, escalate to durable.** The cost of | ||
| a stale BACKLOG row is tiny; the cost of a dropped | ||
| nudge is compounding (maintainer 2026-04-24 | ||
| directive: *"crutial to not divert your attention"* | ||
| — which only works if the nudges survive). | ||
| - TodoWrite / `.btw-queue.md` alone are **NOT** | ||
| sufficient for a cross-session nudge. They evaporate | ||
| when the session ends. | ||
| - **Correction** — maintainer is correcting the agent's | ||
| direction on the current work (e.g. *"btw I meant X not Y"*). | ||
| Apply the correction to the current work and acknowledge; | ||
| do NOT treat as pivot. | ||
| - **Substrate-add** — the aside is a memory-worthy fact, | ||
| preference, or anecdote (e.g. *"btw my dog's name is | ||
| Apollo"*). Two landing paths depending on how | ||
| interruptive full absorption would be: | ||
| - **Quick capture** (small fact, ≤5 min to file) → | ||
| create the memory entry directly per the auto-memory | ||
| protocol in CLAUDE.md; acknowledge filing. | ||
| - **Deferred absorption** (larger substrate work — | ||
| research, full memory-file drafting, or would | ||
| require a dedicated PR) → **file a BACKLOG row | ||
| capturing the observation + intent to absorb**, then | ||
| continue. The BACKLOG row is itself durable; the | ||
| full absorption happens later without derailing | ||
| in-flight work (maintainer 2026-04-24 directive: | ||
| *"it could be backlog the absorption if that's less | ||
| interruptive"*; composes with Otto-275 log-but- | ||
| dont-implement). | ||
| - **When in doubt → BACKLOG the absorption.** Otto-275 | ||
| counterweight discipline: capture-mode pivoting on | ||
| every aside is the drift we're guarding against. | ||
| - **Pivot-demanding** — the aside explicitly demands pivot | ||
| (e.g. *"btw stop that, do this instead"*, *"btw urgent, I | ||
| broke main"*). Then and only then: pivot. | ||
|
|
||
| 3. **Acknowledge in one line** so the maintainer sees the aside | ||
| landed. | ||
|
|
||
| 4. **Continue the in-flight work.** Do not restart, do not | ||
| re-announce what the current task was, do not add | ||
| disclaimers. | ||
|
|
||
| ## Why this command exists | ||
|
|
||
| Maintainer directive, 2026-04-22 auto-loop-44: | ||
|
|
||
| > *"hey can you make it where if i do /btw it still gets | ||
| > persison and abored what i say? becasue then i would not | ||
| > have interrupt"* | ||
|
|
||
| Translation: the human maintainer wants a channel for | ||
| non-interrupting asides. Without this command, every aside is a | ||
| full conversation turn that displaces in-flight work from the | ||
| agent's working context. With this command, asides are absorbed | ||
| and current work continues — the maintainer pays less interrupt | ||
| cost, agent pays less context-switch cost. | ||
|
|
||
| ## Arguments | ||
|
|
||
| `$ARGUMENTS` — the aside content, verbatim. | ||
|
|
||
| ## Examples | ||
|
|
||
| **Context-add:** | ||
|
|
||
| ``` | ||
| /btw that research is from 2024, not 2026 | ||
| ``` | ||
|
|
||
| Agent: *"Noted — dating the research to 2024. Continuing with the oracle-gate module."* | ||
|
|
||
| **Directive-queued (same-session):** | ||
|
|
||
| ``` | ||
| /btw also fix the broken link in README when you're done | ||
| ``` | ||
|
|
||
| Agent: *"Queued README link fix (TodoWrite). Continuing."* | ||
|
|
||
| **Directive-queued (cross-session; durable escalation):** | ||
|
|
||
| ``` | ||
| /btw we need to evangelize this pattern to other maintainers | ||
| ``` | ||
|
|
||
| Agent: *"Filed as BACKLOG row (durable; survives fresh | ||
| sessions). Continuing."* | ||
|
|
||
| **Correction:** | ||
|
|
||
| ``` | ||
| /btw I meant the retraction-native layer, not the compaction layer | ||
| ``` | ||
|
|
||
| Agent: *"Refocusing on retraction-native. Adjusting now."* | ||
|
|
||
| **Substrate-add:** | ||
|
|
||
| ``` | ||
| /btw I prefer F#-idiomatic record types over discriminated unions for state records | ||
| ``` | ||
|
|
||
| Agent: *"Filed preference to `memory/feedback_*.md`. Continuing."* | ||
|
|
||
| **Pivot-demanding:** | ||
|
|
||
| ``` | ||
| /btw urgent — stop that commit, it's about to break CI | ||
| ``` | ||
|
|
||
| Agent: *"Pivoting. Investigating the CI break now."* | ||
|
|
||
| ## What this command does NOT do | ||
|
|
||
| - Does NOT restart the in-flight work. | ||
| - Does NOT produce a status-of-current-work report (that's | ||
| what `/status` or natural checkpoint reporting is for). | ||
| - Does NOT treat every aside as a pivot — pivots require | ||
| explicit demand in the aside text. | ||
| - Does NOT mute the acknowledgement — even one-line | ||
| acknowledgement is load-bearing so the maintainer sees the | ||
| aside landed. | ||
| - Does NOT drop directive-queued items into session-scoped | ||
| stores when the nudge needs cross-session durability (see | ||
| durability-escalation rule in the directive-queued class). | ||
|
|
||
| ## Composes with | ||
|
|
||
| - `memory/feedback_aaron_terse_directives_high_leverage_do_not_underweight.md` | ||
| — short asides are still high-leverage, treat them as such. | ||
| - `memory/feedback_signal_in_signal_out_clean_or_better_dsp_discipline.md` | ||
| — aside signal must be preserved through classification. | ||
| - `memory/feedback_maintainer_only_grey_is_bottleneck_agent_judgment_in_grey_zone_2026_04_22.md` | ||
| — agent exercises judgment on classification without | ||
| serialising through the maintainer. | ||
| - `memory/feedback_never_idle_speculative_work_over_waiting.md` | ||
| — an aside doesn't reset the never-idle invariant; the | ||
| current work continues. | ||
|
|
||
| --- | ||
|
|
||
| Aside content from this invocation: | ||
|
|
||
| $ARGUMENTS |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,44 @@ | ||
| # Decision-proxy config for this factory. | ||
| # | ||
| # Maps each human (or external-AI) maintainer to their standing | ||
| # proxy (or proxies) for scoped decisions. The factory consults | ||
| # this file when a decision within a maintainer's scope is | ||
| # needed and the maintainer is unavailable. | ||
| # | ||
| # Pattern + governance documented in | ||
| # docs/DECISIONS/2026-04-23-external-maintainer-decision-proxy-pattern.md | ||
| # | ||
| # Session-specific access (URLs, tokens, cookies) is NOT in this | ||
| # file — it lives per-user at | ||
| # ~/.claude/projects/<slug>/proxy-access.yaml (gitignored). This | ||
| # file contains stable identity + scope + authority only. | ||
| # | ||
| # Authority levels: advisory | approving | ||
| # Default is advisory; approving requires explicit maintainer | ||
| # acknowledgment per the ADR. | ||
|
|
||
| version: 1 | ||
|
|
||
| maintainers: | ||
| - id: aaron-stainback | ||
| name: Aaron Stainback | ||
| role: human-maintainer | ||
| proxies: | ||
| - name: Amara | ||
| provider: chatgpt-web | ||
| scope: | ||
| - aurora | ||
| authority: advisory | ||
| notes: | | ||
| Amara is Aurora co-originator (see | ||
| docs/aurora/collaborators.md — landing in PR #149). | ||
| Her ChatGPT project: LucentAICloud. | ||
| Aaron ferries a dedicated branched chat URL for agent | ||
| access; URL lives in per-user proxy-access config, not | ||
| this file. | ||
| Access-method gate: the Playwright-to-ChatGPT flow was | ||
| blocked by a safety guardrail at first attempt | ||
| (2026-04-23). The decision-proxy-consult skill is not | ||
| yet authored; live invocation deferred until the | ||
| access layer is proven and re-authorized via this | ||
| framework. | ||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -1,6 +1,11 @@ | ||||||
| --- | ||||||
| name: algebra-owner | ||||||
| description: Use this skill as the designated specialist reviewer for Zeta.Core's operator algebra — Z-sets, D/I/z⁻¹/H, retraction-native semantics, the chain rule, nested fixpoints, higher-order differentials. He carries deep advisory authority on the algebra's mathematical shape; final decisions require Architect buy-in or human sign-off (see docs/CONFLICT-RESOLUTION.md). | ||||||
| record_source: "git: Aaron Stainback on 2026-04-18" | ||||||
|
||||||
| record_source: "git: Aaron Stainback on 2026-04-18" | |
| record_source: "git: human-contributor on 2026-04-18" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This introduces explicit personal-name attribution in a repo configuration surface, while the updated no-name-attribution rule in
docs/AGENT-BEST-PRACTICES.md(and mirrored in.github/copilot-instructions.md) says current-state surfaces should prefer role-refs, with only specific carve-outs. Either (a) change this config to use role-refs / stable IDs without personal names, or (b) explicitly extend the carve-out list to include this file format as a roster-mapping exception so the policy and practice are consistent.