Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions docs/BACKLOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4902,6 +4902,8 @@ systems. This track claims the space.

- [ ] **SharderInfoTheoreticTests "Uniform traffic" flake — process-hash-randomization root cause + deterministic-threshold fix.** Aaron 2026-04-24 Otto-132 flag: *"SharderInfoTheoreticTests.Uniform (not seed locked, falkey, DST?)"*. Test lives at `tests/Tests.FSharp/Formal/Sharder.InfoTheoretic.Tests.fs` (module `Zeta.Tests.Formal.SharderInfoTheoreticTests`). **Corrected root-cause hypothesis (PR #327 review):** the test is an xUnit `[<Fact>]`, not an FsCheck property — it already uses `Random 42` for key generation, so the flake is *not* lack of FsCheck seed-lock. Actual suspected causes, in priority order: (1) **`HashCode.Combine` is process-randomized** — .NET's `HashCode` uses a per-process random seed (hash-randomization mitigation), so `uint64 (HashCode.Combine k)` differs across runs even with identical keys; the downstream `JumpConsistentHash.Pick` then yields a different shard distribution each run, and the `max/avg < 1.2` assertion trips on unlucky seeds; (2) tolerance is overly tight for a 100k-sample, 16-shard Zipf baseline — 1.2× is ~2σ territory on finite samples; (3) nondeterministic iteration order in `Array.init` closures if `rng.Next` is ever called concurrently (not the current shape, but a future-drift risk). Scope: (1) replace `HashCode.Combine` with a seeded deterministic hash (`XxHash64` / FNV with explicit seed) or a fixed-salt wrapper; (2) widen tolerance with justification (Wilson interval or measured 99th-percentile across N CI runs) rather than arbitrary 1.2; (3) sweep sibling Sharder tests for the same `HashCode.Combine` pattern; (4) document the "no process-randomized hashes in deterministic tests" rule as a hygiene row; (5) quantify flake rate from historical CI. Priority P2 research-grade (blocks other PRs' auto-merge when it trips). Effort S + S. **Does NOT authorize:** blanket `HashCode.Combine` ban outside tests (prod paths may legitimately want hash-randomization); widening tolerance without empirical justification.

- [ ] **Schema-as-Graph — entire database schema as first-class typed graph.** Aaron 2026-04-24 Otto-127: *"would it be possible to have a graph view of the entire table and relations so the whole schema is first class i the graph plus we could have special edge node whatever else we need entities if needed for more fidelity than reguarl sql table structrue and relationships allow. backlog"*. Natural extension of Graph substrate (PR #317 + #324). Scope: (1) schema-node types — Table/Column/Index/Constraint/View/StoredProcedure/Trigger; (2) schema-edge types — ForeignKey/Contains/References/DependsOn/InheritsFrom; (3) custom entity types beyond SQL — Domain/Aggregate/EventStream/Retraction (first-class "removed" with timestamp)/Provenance; (4) round-trip SQL↔Graph invariants; (5) bidirectional — Graph mutations emit DDL; DDL mutates Graph. Schema-change-over-time = Graph event stream w/ retraction-native. Aminata BP-11 threat-pass. Priority P2; effort M+M+L.

- [ ] **Git-native PR-conversation preservation — extract PR review threads + comments to git-tracked files on merge.** Aaron 2026-04-24 Otto-113 directive: *"you probably need to resolve and save the conversations on the PRs to git for gitnative presevration"*. Currently PR review threads (Copilot / Codex connector / human reviewer comments) live GitHub-side only; if repo is mirrored / forked / GitHub has an outage / repo is migrated, the conversation substrate is lost. For glass-halo transparency + retractability, PR discussions belong in-repo. Proposed mechanism: workflow (or post-merge skill) that fetches all review threads + general PR comments for a merged PR, serialises them as markdown at `docs/pr-discussions/PR-<number>-<slug>.md` with attribution (reviewer id/bot), timestamps, thread structure, and resolution status. Scope: (1) design PR-discussion schema + file shape; (2) fetch-on-merge mechanism (GHA workflow using `gh api graphql`); (3) privacy pass (strip anything sensitive from reviewer comments); (4) backfill historical PRs or declare cutover-forward. Priority P2 research-grade; effort S (mechanism) + M (backfill if chosen). Composes with Otto-113 bootstrap-attempt-1 memory + docs-lint/memory-no-lint policy (discussions go in docs/) + the ChatGPT-download-skill (PR #300) pattern.

- [ ] **Ongoing memory-sync mechanism — keep in-repo `memory/` mirrored with auto-memory writes during each Otto tick.** Aaron 2026-04-24 Otto-113 directive *"our memories should all be checked in now"* + Otto-114 confirmation that in-repo memory/ is the natural home for ALL memory types. Otto-113 one-shot sync (PR #307) mirrored 439 files. Going forward, every Otto tick that writes to `~/.claude/projects/.../memory/` should also land new/updated files in-repo `memory/` with matching MEMORY.md pointer update (per memory-index-integrity + memory-reference-existence-lint workflows). Proposed mechanisms: (a) end-of-tick skill that rsyncs new memories to a branch + PRs them; (b) direct-to-repo writes with auto-memory as read-cache; (c) GHA cron periodic sync. Initial preference: (a) for CLI-tool compatibility today, (b) long-term. Also includes path-unification design (decide whether to deprecate the `~/.claude/projects/...` path for this project entirely or keep as staging). Priority P2 research-grade; effort S (rsync skill) + M (direct-write tooling). Composes with `memory/feedback_natural_home_of_memories_is_in_repo_now_all_types_*.md` (Otto-114 policy) + PR #307 one-shot sync + memory-index-integrity workflow.
Expand Down Expand Up @@ -7612,6 +7614,10 @@ systems. This track claims the space.
lawyer-facing app. Primitive first, product
second. (P3 parking lot; not a v1 commitment.)

- [ ] **Research + map `claude --agent <agent_name>` harness flag.** Aaron 2026-04-24 Otto-120: *"FYI your harness just popped up this tip you should reserach and map Tip: Use --agent `<agent_name>` to directly start a conversation with a subagent backlog"*. Factory has ~25+ personas reachable this way. Scope: (1) locate official doc; (2) test with 2-3 factory personas; (3) map use-cases — direct-invoke Aminata/Ilyana/Aarav for one-shot reviews; (4) document in `docs/references/claude-cli-agent-flag.md`; (5) integrate where direct invocation beats Task-tool dispatch. Priority P3 convenience. Effort S.

- [ ] **Pre-landing sanitizer for ferry absorbs — auto-clean Amara verbatim markdown patterns before CI.** Aaron 2026-04-24 Otto-119: *"also we should backlog longer-term, a pre-landing sanitizer could handle this automatically."* Systemic patterns: `#<num>` at line-start → H1 (MD018); line-wrapped `###` headings (MD001 false positive); lists w/o blanks (MD032); trailing whitespace. Scope: (1) catalog patterns from PRs #311 / #312 / future; (2) write sanitizer script; (3) integrate as pre-commit hook or ferry-absorb skill step; (4) validate on existing ferries. Priority P3 convenience. Effort S + S.

## ⏭️ Declined

- SQLite-derived on-disk format (per AGENTS.md greenfield policy)
Expand Down
Loading