Consolidate brain-ingest-ntfy + brain-weekly-ingest into hyperguild/ingestion #84

Closed
opened 2026-07-24 06:12:55 +00:00 by mathias · 1 comment
Owner

Context

Cross-repo review + consolidation pass (2026-07-24) on the CAD/brain-adjacent repo set. ingestion-svc already did exactly this move once — archived 2026-05-14, its README states "All ingestion functionality has been consolidated into hyperguild/ingestion." Two more single-purpose ingestion-trigger repos exist today with no equivalent consolidation.

Candidates

  • mathias/brain-ingest-ntfy — real, built (ntfy URL-push → brain ingest, issue #1 closed as shipped). Currently CI-red since 2026-05-22 (Build & Import failing, issue #3, unresolved 2 months) — brain-ingest-ntfy#3 itself notes the same failure shape recurs on brain-ui, suggesting a shared scaffold bug rather than something specific to this repo's own logic worth preserving in a standalone pipeline.
  • mathias/brain-weekly-ingest — appears never actually built. homelab#4 says outright: "brain-weekly-ingest repo is empty, not a dependency." Its own issue #1 (the experiment brief, DIKW Phase 1) carries a falsifiable hypothesis with a 2026-07-01 deadline that has now passed with no resolution recorded anywhere found. Issue #3 in that repo is explicitly self-flagged as filed in the wrong place ("This issue currently lives on brain-weekly-ingest, which is the wrong home now that scope is a personal one-off... may not warrant a repo at all").

Proposal

  • Confirm whether brain-weekly-ingest's experiment (weekly Claude.ai conversation ingest) is still wanted at all, given the hypothesis deadline lapsed unresolved — if yes, build it as a source adapter inside hyperguild/ingestion (the README already lists "GitHub source adapters (in progress)" as the pattern to follow) rather than a fourth standalone repo.
  • Port brain-ingest-ntfy's ntfy-URL-push trigger into hyperguild/ingestion as another source adapter, fixing the CI issue as part of the move rather than in the old repo.
  • Once both are absorbed, mark both origin repos archived with a README pointer, mirroring ingestion-svc's own (README.md: "⚠️ ARCHIVED... superseded and pending deletion... All ingestion functionality has been consolidated into hyperguild/ingestion").

Related

  • mathias/brain-ingest-ntfy#3 (CI red, unresolved)
  • mathias/brain-weekly-ingest#1 (stale hypothesis, deadline lapsed), #3 (self-flagged wrong repo)
  • ingestion-svc's README.md — the precedent this mirrors exactly

Risk: LOW — consolidation/planning issue, no code yet.

## Context Cross-repo review + consolidation pass (2026-07-24) on the CAD/brain-adjacent repo set. `ingestion-svc` already did exactly this move once — archived 2026-05-14, its README states "All ingestion functionality has been consolidated into `hyperguild/ingestion`." Two more single-purpose ingestion-trigger repos exist today with no equivalent consolidation. ## Candidates - **`mathias/brain-ingest-ntfy`** — real, built (ntfy URL-push → brain ingest, issue #1 closed as shipped). Currently **CI-red since 2026-05-22** (`Build & Import` failing, issue #3, unresolved 2 months) — brain-ingest-ntfy#3 itself notes the same failure shape recurs on `brain-ui`, suggesting a shared scaffold bug rather than something specific to this repo's own logic worth preserving in a standalone pipeline. - **`mathias/brain-weekly-ingest`** — appears **never actually built**. `homelab#4` says outright: "brain-weekly-ingest repo is empty, not a dependency." Its own issue #1 (the experiment brief, DIKW Phase 1) carries a falsifiable hypothesis with a **2026-07-01 deadline that has now passed** with no resolution recorded anywhere found. Issue #3 in that repo is explicitly self-flagged as filed in the wrong place ("This issue currently lives on brain-weekly-ingest, which is the wrong home now that scope is a personal one-off... may not warrant a repo at all"). ## Proposal - [ ] Confirm whether `brain-weekly-ingest`'s experiment (weekly Claude.ai conversation ingest) is still wanted at all, given the hypothesis deadline lapsed unresolved — if yes, build it as a source adapter inside `hyperguild/ingestion` (the README already lists "GitHub source adapters (in progress)" as the pattern to follow) rather than a fourth standalone repo. - [ ] Port `brain-ingest-ntfy`'s ntfy-URL-push trigger into `hyperguild/ingestion` as another source adapter, fixing the CI issue as part of the move rather than in the old repo. - [ ] Once both are absorbed, mark both origin repos archived with a README pointer, mirroring `ingestion-svc`'s own (`README.md`: "⚠️ ARCHIVED... superseded and pending deletion... All ingestion functionality has been consolidated into hyperguild/ingestion"). ## Related - `mathias/brain-ingest-ntfy#3` (CI red, unresolved) - `mathias/brain-weekly-ingest#1` (stale hypothesis, deadline lapsed), `#3` (self-flagged wrong repo) - `ingestion-svc`'s `README.md` — the precedent this mirrors exactly Risk: LOW — consolidation/planning issue, no code yet.
mathias added the risk/mediumsize/ltype/chore labels 2026-08-27 05:25:42 +00:00
Author
Owner

Closing as superseded. This question was already decided two months before this issue was filed, and every premise the proposal rests on has since died.

Already decided: Spike S1, 2026-05-22

infra: docs/superpowers/handoffs/2026-05-22-brain-consolidation-spike.md — spike S1 from the 2026-05 homelab architecture review — asked precisely this question (fold brain-ingest-ntfy into hyperguild/ingestion?) after cloning both repos and comparing go.mod, source tree, runtime profile, shared types and wire coupling.

Verdict: (c) KEEP SEPARATE, explicitly downgrading the architecture-review consolidation candidate. Its reasoning:

  1. The "fragmentation" was stale — driven by two orphan staging namespaces (staging-brain-ingest-ntfy, staging-brain-weekly-ingest, both deleted in v0.7.0) plus the cosmetic hostexecutor → brain-ingest-ntfy rename. What remains is two services with cleanly different jobs.
  2. 545 LOC doesn't earn a merge. Deploy/repo/image overhead is paid once; daily cost of separation is near zero.
  3. Failure domains are deliberately different. Merging couples a flaky pipeline restart to a persistent SSE subscription. Today, losing ingestion breaks brain reads; losing brain-ingest-ntfy just piles messages up in the ntfy topic with no data loss.
  4. The HTTPS contract at brain-mcp.d-ma.be is the right boundary — it keeps the platform open to N future callers cheaply.
  5. No shared Go types, no shared module, no shared persistence. The brain client is ~50 lines of net/http.

This issue (2026-07-24) did not cite S1 and appears to have been filed without it.

Every premise here is now falsified

"CI-red since 2026-05-22 (#3, unresolved 2 months)... suggesting a shared scaffold bug rather than something specific to this repo's own logic worth preserving."

brain-ingest-ntfy#3 was closed 2026-07-24 13:38 — about seven hours after this issue was filed. Root cause was not a shared scaffold bug: the Dockerfile still referenced ./cmd/hostexecutor, the pre-rename directory. Repo-specific, one line, reproduced locally with buildah build before and after. CI went fully green on run #7 including Deploy via GitOps. The inference drawn from the redness is falsified on its own terms.

"brain-weekly-ingest appears never actually built... hypothesis deadline lapsed with no resolution recorded."

Resolved since: brain-weekly-ingest#1 closed 2026-08-27 as self-falsified under its own protocol — the 2026-07-01 deadline passing without the experiment running is the null result. So there is no experiment left to absorb into ingestion. The first checkbox here ("confirm whether it's still wanted") has been answered: not in that form.

"Two more single-purpose ingestion-trigger repos exist today with no equivalent consolidation."

brain-ingest-ntfy is not a stalled repo. Runs #11, #12, #13 all green through 2026-08-25, tracking estate-wide CI refactors (infra#241 buildctl, infra#309 shared build-image script, infra#311 empty-IMAGE_TAG guard). It is maintained fleet, not drift.

The ingestion-svc precedent does not transfer. ingestion-svc was archived because it duplicated hyperguild/ingestion — same job, two places. brain-ingest-ntfy does a different job across a stable HTTPS boundary. Same-shaped move, different situation; S1 point 4 covers this directly.

What this does not decide

  • brain-weekly-ingest#2 is still open and is real, independent research (Gmail MCP connector is single-account only; the Calendar connector shares the limit). It has value regardless of the dead weekly-ingest experiment and should be rehomed before that repo is archived — not swept up with it.
  • Whether weekly claude.ai chat ingest is still wanted at all. #1's closing comment is right that it deserves a fresh brief with a live hypothesis, not a lapsed one. Note claudewatcher covers Claude Code sessions, not claude.ai chats — the gap is real if the appetite is.
  • Archiving either repo. Not proposed here and not decided by this closure.
  • The two pointer issues, brain-ingest-ntfy#4 and brain-weekly-ingest#4, remain open and still recite the CI-red premise falsified above. Left as-is pending their owner's call.
Closing as **superseded**. This question was already decided two months before this issue was filed, and every premise the proposal rests on has since died. ## Already decided: Spike S1, 2026-05-22 `infra: docs/superpowers/handoffs/2026-05-22-brain-consolidation-spike.md` — spike S1 from the 2026-05 homelab architecture review — asked precisely this question (fold `brain-ingest-ntfy` into `hyperguild/ingestion`?) after cloning both repos and comparing go.mod, source tree, runtime profile, shared types and wire coupling. Verdict: **(c) KEEP SEPARATE**, explicitly downgrading the architecture-review consolidation candidate. Its reasoning: 1. The "fragmentation" was **stale** — driven by two orphan staging namespaces (`staging-brain-ingest-ntfy`, `staging-brain-weekly-ingest`, both deleted in v0.7.0) plus the cosmetic `hostexecutor` → `brain-ingest-ntfy` rename. What remains is two services with cleanly different jobs. 2. **545 LOC doesn't earn a merge.** Deploy/repo/image overhead is paid once; daily cost of separation is near zero. 3. **Failure domains are deliberately different.** Merging couples a flaky pipeline restart to a persistent SSE subscription. Today, losing ingestion breaks brain reads; losing brain-ingest-ntfy just piles messages up in the ntfy topic with no data loss. 4. **The HTTPS contract at `brain-mcp.d-ma.be` is the right boundary** — it keeps the platform open to N future callers cheaply. 5. No shared Go types, no shared module, no shared persistence. The brain client is ~50 lines of `net/http`. This issue (2026-07-24) did not cite S1 and appears to have been filed without it. ## Every premise here is now falsified **"CI-red since 2026-05-22 (#3, unresolved 2 months)... suggesting a shared scaffold bug rather than something specific to this repo's own logic worth preserving."** `brain-ingest-ntfy#3` was closed **2026-07-24 13:38** — about seven hours after this issue was filed. Root cause was not a shared scaffold bug: the Dockerfile still referenced `./cmd/hostexecutor`, the pre-rename directory. Repo-specific, one line, reproduced locally with `buildah build` before and after. CI went fully green on run #7 including `Deploy via GitOps`. The inference drawn from the redness is falsified on its own terms. **"brain-weekly-ingest appears never actually built... hypothesis deadline lapsed with no resolution recorded."** Resolved since: `brain-weekly-ingest#1` closed **2026-08-27** as self-falsified under its own protocol — the 2026-07-01 deadline passing without the experiment running *is* the null result. So there is no experiment left to absorb into `ingestion`. The first checkbox here ("confirm whether it's still wanted") has been answered: not in that form. **"Two more single-purpose ingestion-trigger repos exist today with no equivalent consolidation."** `brain-ingest-ntfy` is not a stalled repo. Runs #11, #12, #13 all green through **2026-08-25**, tracking estate-wide CI refactors (infra#241 buildctl, infra#309 shared build-image script, infra#311 empty-IMAGE_TAG guard). It is maintained fleet, not drift. **The `ingestion-svc` precedent does not transfer.** `ingestion-svc` was archived because it *duplicated* `hyperguild/ingestion` — same job, two places. `brain-ingest-ntfy` does a different job across a stable HTTPS boundary. Same-shaped move, different situation; S1 point 4 covers this directly. ## What this does not decide - **`brain-weekly-ingest#2` is still open** and is real, independent research (Gmail MCP connector is single-account only; the Calendar connector shares the limit). It has value regardless of the dead weekly-ingest experiment and should be rehomed before that repo is archived — not swept up with it. - **Whether weekly claude.ai chat ingest is still wanted at all.** #1's closing comment is right that it deserves a fresh brief with a live hypothesis, not a lapsed one. Note `claudewatcher` covers Claude Code sessions, not claude.ai chats — the gap is real if the appetite is. - **Archiving either repo.** Not proposed here and not decided by this closure. - The two pointer issues, `brain-ingest-ntfy#4` and `brain-weekly-ingest#4`, remain open and still recite the CI-red premise falsified above. Left as-is pending their owner's call.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mathias/hyperguild#84