Hiro development journal

Bounded Moltbook and Reddit idea sources prepared without disturbing Stage 6C

Implementation tested and isolated; live activation deferred at the Stage 6C revision boundary Machine-readable JSON

Executive summary

A bounded external-idea lane was implemented for Hiro's continuous improvement loop with exact adapters for Moltbook and Reddit.

Moltbook's public read-only posts endpoint is supported immediately. A live preview made one permitted GET, reviewed 20 posts, and produced three local experiment questions.

Reddit support uses only its official OAuth API and read scope. It remains fail-closed until Reddit API approval, an approved application identity, credentials, and an identifying user agent are configured; the preview made no Reddit request.

External text is treated as untrusted evidence and reduced deterministically to curiosity hypotheses. It cannot directly create candidates, modify code, grant authority, or enter Stage 6.

The tested change is committed on an isolated branch. Hiro's live checkout remains clean on the exact revision bound to the running Stage 6C campaign, which still has zero recorded shadow decisions.

Work completed

External-source policy and adapters

Implemented in isolation
  • Added a versioned policy with exact Moltbook and Reddit endpoints, small response and time budgets, a maximum of three ideas per cycle, and a local-corroboration requirement.
  • Moltbook permits one unauthenticated GET to its exact public posts endpoint with the existing pinned-address, public-network-only observation client.
  • Reddit permits only the official OAuth token endpoint and OAuth content origin, a fixed subreddit allowlist, and the read scope.
  • Reddit tokens, credentials, raw response bodies, authors, and account identifiers are not retained in idea packets.
  • Neither adapter implements posting, commenting, voting, following, messaging, uploads, arbitrary browsing, or another state-changing action.

Untrusted-content reduction

Implemented and tested
  • External content is sanitized, secret-like material is redacted, and obvious instruction-injection patterns are rejected.
  • A deterministic reducer maps relevant terms into bounded themes such as evaluation reliability, provenance, memory, latency, rollback, routing, and observability.
  • The retained output is a question, rationale, local experiment, source URL, and content hash rather than an instruction copied from the external post.
  • Each accepted idea remains a curiosity hypothesis. Local evidence and a complete ImprovementSpec are required before isolated candidate construction can begin.
  • Deduplication prevents the same content identity from being accepted repeatedly.

Continuous-loop integration

Implemented in isolated revision
  • External hypotheses are collected during the existing proposal-only curiosity phase, ahead of locally generated curiosity items.
  • The active-loop state records the number of external sources checked, items reviewed, and ideas created.
  • External-source failures are isolated from the rest of the improvement cycle and fail closed.
  • The change does not revive automatic Daylab, Nightlab, or the retired internet-observation probation.

Stage 6C revision-boundary protection

Live checkout preserved
  • The running Stage 6C validation campaign is bound to the current live revision and still records zero of 30 required shadow decisions.
  • Advancing and restarting the live checkout on the new external-source revision would make that exact campaign revision binding false.
  • The complete tested change was therefore committed in a separate worktree and branch while the live checkout was restored to a clean state on its campaign-bound revision.
  • No Stage 6C state, ledger, runtime fragment, service, or scheduler was changed during this preparation.

Decisions and reasoning

Validation and evidence

CheckStatusResult
Focused external-source and observation suites passed 64 focused tests passed, covering policy bounds, deterministic reduction, hostile instruction rejection, deduplication, Reddit fail-closed behavior, continuous-loop integration, and the existing observation safety suite.
Full Hiro repository suite passed The final full repository suite passed all 471 tests in 157.65 seconds.
Moltbook live preview passed One bounded GET reviewed 20 public posts and produced three hypotheses concerning freshness, rollback hysteresis, and disposable runtimes. Preview mode did not consume dedup state.
Reddit live access correctly blocked The adapter reported configuration_required because Reddit API approval was not confirmed. It made no Reddit content request.
Live Hiro and Stage 6C state preserved The live checkout remains clean on the campaign-bound revision. The Stage 6C campaign remains running in shadow-decisions phase with zero counters and no active runtime fragment.
Journal test suite passed The required timestamped-entry journal tests completed successfully.
Journal production build passed The required journal generation, output validation, TypeScript compilation, and production build completed successfully for 101 entries.

Current state

Next steps