Skip to content

Direction backprop#1

Merged
sfw merged 2 commits into
mainfrom
direction-backprop
Jun 19, 2026
Merged

Direction backprop#1
sfw merged 2 commits into
mainfrom
direction-backprop

Conversation

@sfw

@sfw sfw commented Jun 19, 2026

Copy link
Copy Markdown
Owner

Took some ideas from Arbor

sfw and others added 2 commits June 18, 2026 23:47
…ation plumbing

Wire the reject path of verify_insight to journal.add_rejection so every
candidate that fails the register gate is appended to the rejection_log
(canonical_form, pareto_axes, gate reasons, closest peer, alias signal) —
organic negative signal for future discrimination work.

Add the no-op config knobs for the selective-verification pipeline:
alias-gap routing (reject/fasttrack thresholds + audit-back rate),
paraphrase-perturbation variant count, and committee dissent threshold.
All defaults are no-ops until the corresponding phase ships.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…926)

Add the carry-lessons-across-time layer CE was missing. Every N cycles
(default 5) the engine clusters related investigations — connected
components of the entry graph, reusing engine/graph.py — and distills each
cluster into a FRONTIER EDGE: the unexplored synthesis / contradiction at
its boundary. The edge is injected into the next introspection as something
to push PAST, never to confirm.

Adapted to CE's novelty objective rather than Arbor's scalar one, with
deliberate guards against the failure modes:
  - abstraction runs on the cross-family verifier model, never the primary,
    so the generator can't author and then consume its own prior;
  - "frontier edge to exceed" framing resists convergence onto the engine's
    own beliefs (CE's value is divergence / OOD synthesis);
  - direction_max_injected caps how many priors reach introspection;
  - suppress_direction_insight (+ --suppress-direction) kills a bad prior;
  - direction_backprop_enabled is a global off switch.
Append-only storage with an overlap-based supersedes chain (a grown cluster
replaces the prior head it overlaps) — never mutates prior records.

Omits Arbor's frontier pruning: for a novelty objective there is no clean
falsification signal, and pruning on a weak proxy (repeated low surprise)
would kill the directions that pay off late.

New: engine/direction_backprop.py, ABSTRACT_DIRECTION_PROMPT, journal
storage + accessors, 6 [engine] config knobs, --abstract-directions /
--show-directions / --suppress-direction admin ops, standalone tests, and
a design spec under docs/superpowers/specs/. README documents the feature
and notes the adversarial verifier as CE's role-analog of Arbor's held-out
merge gate (and why CE rejects a scalar dev/held-out gate).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@sfw sfw merged commit 7a413bb into main Jun 19, 2026
2 checks passed
@sfw sfw deleted the direction-backprop branch June 19, 2026 05:52
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