Skip to content
Merged
Show file tree
Hide file tree
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
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -248,7 +248,7 @@ neuron-graph-rag-mcp \
}
```

利用順序は `search` で得た `trace_id` と候補を保持し、実際の判断過程に合わせて `selected` → `validated` → `used` を `record_source_use` へ送ります。既定 policy では新規 `used` が credited edge の独立 evidence を記録し、設定 quorum 到達時に bounded reinforcement を発火します。confirmed candidate 有効時は `used` まで weight を変更せず、後から `record_outcome` へ送った独立 `confirmed` だけが初回 multiplier `1.0`、後続 geometric decay で保存済み relation path を強化します。`corrected`、`rolled_back`、`superseded` はどちらの policy でも weight を変更しません。
利用順序は `search` で得た `trace_id` と候補を保持し、実際の判断過程に合わせて `selected` → `validated` → `used` を `record_source_use` へ送ります。既定 policy では新規 `used` が credited edge の独立 evidence を記録し、設定 quorum 到達時に bounded reinforcement を発火します。confirmed-only candidate 有効時は `used` まで weight を変更せず、後から `record_outcome` へ送った独立 `confirmed` だけが初回 multiplier `1.0`、後続 geometric decay で保存済み relation path を強化します。`corrected`、`rolled_back`、`superseded` は既定 policy と confirmed-only policy のどちらでも weight を変更しません。

三つの tool の schema、model-facing description、trace retention、failure code の正本は [docs/optional-mcp-interface.md](docs/optional-mcp-interface.md) です。実装範囲は local stdio に限り、HTTP、認証、認可、remote deployment は含みません。

Expand Down Expand Up @@ -296,6 +296,8 @@ Evidence-gated local feedback reinforcementは、credited edgeごとに異なる

Confirmed-outcome feedback reinforcementは、同じ candidate class の `confirmed_outcome_reinforcement=True` と明示 `confirmation_decay_ratio` で有効にします。`used` は履歴だけを保存し、relation trace 上で used となった node の一意な credited path を、独立 `confirmed` outcome ごとに減衰強化します。count、multiplier、actual delta、credited path は core / MCP receipt で同じ形に写され、SQLite restart 後も継続します。mechanics は default 採用や q3/s1 との優位性を主張しません。詳細は[Confirmed-outcome feedback reinforcement](docs/confirmed-outcome-feedback-reinforcement.md)を参照してください。

Soft-start feedback reinforcementは、`soft_start_feedback_reinforcement=True`、`soft_start_feedback_ratio`、`confirmation_decay_ratio` を明示する別の default-off candidate です。credited relation edge の最初の新規 `used` は通常 bounded update の一部だけを provisional に適用し、最初の独立 `confirmed` が残りを補完します。後続 confirmation は既存 geometric decay に従い、same-source sibling normalization は `used` ではなく各 confirmation の actual delta だけへ適用します。confirmed-only candidate、hard quorum と同時には有効化できず、既存 q1/s0、q3/s1、confirmed-only、凍結評価 artifact と default fingerprint は変更しません。詳細は[Confirmed-outcome feedback reinforcement](docs/confirmed-outcome-feedback-reinforcement.md#soft-start-successor-candidate)を参照してください。

後続の feedback policy comparison に使う public source は、[feedback-policy-comparison-v1](corpora/feedback-policy-comparison-v1/README.md) に corpus-only で固定しています。development / holdout 各二 cluster の明示 link topology、source-only manifest、raw SHA-256、LF 改行規則、provenance、既存 fixture との identity contamination audit だけを含み、評価の選択入力と観測物は含めません。この source merge commit を後続の別 issue が唯一の入力として扱います。

この corpus を使う `used + q3 + sibling normalization 1.0` と `confirmed + decay 0.5 + sibling normalization 1.0` の比較は、[Feedback policy comparison evaluation](docs/feedback-policy-comparison-evaluation.md) に result-free protocol、one-time development、conditional holdout、exclusive observed result、再計算可能な hard gate を固定しています。controlled result は default adoption や production quality を意味しません。
Expand Down
2 changes: 2 additions & 0 deletions docs/Decision-Structure.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,12 @@
| [observation-lifecycle-test-exception](https://github.com/Liplus-Project/neuron-graph-rag/wiki/observation-lifecycle-test-exception) | active | #31 の observed-state lifecycle test exception は hash、exclusive-write、no-recompute assertion に限定する。 |
| [ceiling-aware-feedback-adaptation-gate](https://github.com/Liplus-Project/neuron-graph-rag/wiki/ceiling-aware-feedback-adaptation-gate) | active | 新規 feedback-adaptation experiment は baseline relation MRR が 1.0 未満なら strict improvement、1.0 なら全 safety gate を満たす non-regression を要求する。ceiling pass は default や一般化を意味しない。 |
| [evidence-gated-local-feedback-reinforcement](https://github.com/Liplus-Project/neuron-graph-rag/wiki/evidence-gated-local-feedback-reinforcement) | active | relation edge ごとの独立 success trace が固定 quorum に達するまで serving weight を変えず、到達後は既存 bounded reinforcement と same-source sibling normalization を一回ずつ適用する。candidate は default-preserving であり、採用値と一般化を主張しない。 |
| [confirmed-outcome-feedback-reinforcement](https://github.com/Liplus-Project/neuron-graph-rag/wiki/confirmed-outcome-feedback-reinforcement) | superseded | confirmed-only candidate の mechanics と証拠は保持するが、利用直後の小さな適応を残す [soft-start-feedback-reinforcement](https://github.com/Liplus-Project/neuron-graph-rag/wiki/soft-start-feedback-reinforcement) が後続比較の現在候補としてこの判断を supersede する。 |
| [frozen-output-round-trip-integrity](https://github.com/Liplus-Project/neuron-graph-rag/wiki/frozen-output-round-trip-integrity) | active | result-free evaluation は canonical gate ID array を唯一の順序正本とし、freeze 前に登録外 placeholder と temporary output で実 writer から実 verifier への非アルファベット順 round-trip を証明する。observed result は exclusive creation し、array の完全性、順序、重複なし、全 gate pass を検証する。 |
| [longitudinal-feedback-adaptation](https://github.com/Liplus-Project/neuron-graph-rag/wiki/longitudinal-feedback-adaptation) | active | longitudinal feedback-adaptation は、repository-native controlled corpus v3 の相互に独立した cluster と、その source 文書に明記した 0、1、3、10 credit ceiling を用いる。corpus phase は query、gold、schedule、runner、gate、manifest、result、既定値を定義・変更しない。 |
| [single-corpus-real-feedback-validation](https://github.com/Liplus-Project/neuron-graph-rag/wiki/single-corpus-real-feedback-validation) | superseded | [repository-native-controlled-corpus](https://github.com/Liplus-Project/neuron-graph-rag/wiki/repository-native-controlled-corpus) がこの node を supersede する。以後の evaluation は、NGR repository に公開する固定 SHA の controlled corpus を source とし、D1 single-corpus experiment は capacity が増えるまで waiting とする。 |
| [repository-native-controlled-corpus](https://github.com/Liplus-Project/neuron-graph-rag/wiki/repository-native-controlled-corpus) | active | repository-native controlled corpus v2 は、固定 SHA の公開 documentation と本文中の明示的な同一 directory 相対 link だけから、node、doc path、source URL、credited edge identity が相互に分離した development / holdout の各 3-edge path を導出する。v1 は provenance として保持する。これは controlled benchmark であり、外部 corpus への一般化、評価 query、gold、result、既定値変更を含まない。 |
| [soft-start-feedback-reinforcement](https://github.com/Liplus-Project/neuron-graph-rag/wiki/soft-start-feedback-reinforcement) | active | 最初の credited `used` に通常 bounded update の小さな provisional fraction を適用し、最初の独立 `confirmed` が remainder、後続 confirmation が geometric decay を適用する。sibling normalization は confirmation の actual delta だけを使い、default と凍結 artifact は変更しない。 |
| [github-rag-mcp-replacement-compatibility](https://github.com/Liplus-Project/neuron-graph-rag/wiki/github-rag-mcp-replacement-compatibility) | active | public GitHub repository一つのread-only snapshotをNGR local indexへ接続する。github-rag-mcp `search` の保存済み raw capture と source URL、根拠を比較する。共有 source identity を確認しても最小 doc 検索 path の候補に限り、production github-rag-mcp、MCP authentication / transport、remote deployment、default変更は含まない。 |

## Entry format
Expand Down
36 changes: 36 additions & 0 deletions docs/confirmed-outcome-feedback-reinforcement.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,13 +66,49 @@ neuron-graph-rag-mcp \

candidate 有効時、MCP `search` は relation trace を返し、`tools/list` の source-use / outcome description も confirmed-triggered policy を明示する。無効時は既存 hybrid search、used-evidence reinforcement、audit-only delayed outcome description を保つ。

## Soft-start successor candidate

soft-start は confirmed-only と排他的な別の default-off candidate である。次の三値を同時に明示した場合だけ有効になる。

```python
EngineConfig(
soft_start_feedback_reinforcement=True,
soft_start_feedback_ratio=0.25,
confirmation_decay_ratio=0.5,
)
```

`soft_start_feedback_ratio` と `confirmation_decay_ratio` はどちらも有限の `0 < value < 1` とする。soft-start は `confirmed_outcome_reinforcement=True` または `relation_feedback_evidence_quorum != 1` と組み合わせられず、矛盾する設定は database を開く前に拒否する。

credited relation edge で最初に発生した新規 `used` は、通常の bounded increment の `soft_start_feedback_ratio` 倍だけを provisional に適用する。edge ごとの schedule は initial weight、base increment、soft-start ratio、confirmation decay、geometric maximum を SQLite に保存する。同じ edge の後続 `used` は独立 trace の policy marker と audit row を保存するが、provisional update を重複適用しない。`used` 時点では sibling normalization を一切行わない。

最初の独立 `confirmed` は count `1`、表示 multiplier `1 - soft_start_feedback_ratio` とし、edge を `min(maximum_edge_weight, geometric maximum, initial weight + base increment)` まで増やす。この target との差だけを actual delta とするため、provisional と最初の confirmation の合計は通常 bounded update 一回を超えず、途中で cap または別の増加があっても weight を減らさない。後続 confirmation `n` は multiplier `confirmation_decay_ratio^(n-1)` を使う。same-source sibling normalization は各 confirmation の actual delta だけに適用する。

source-use state、policy marker、provisional edge update、soft-start audit、idempotency receipt は一つの transaction で保存する。confirmed outcome 側も outcome、count、edge/sibling update、receipt を一つの transaction で保存する。receipt 保存を含む途中失敗は全変更を rollback する。core `SourceUseReceipt.feedback` と MCP output は provisional edge を同じ形で返し、`OutcomeReceipt` と MCP output は remainder または後続 decay の count、multiplier、actual delta を同じ形で返す。

local stdio server では次のように起動する。

```bash
neuron-graph-rag-mcp \
--database /absolute/path/to/knowledge.db \
--soft-start-feedback-reinforcement \
--soft-start-feedback-ratio 0.25 \
--confirmation-decay-ratio 0.5
```

inactive な soft-start field は effective-config provenance へ追加しない。これにより既存 default、q3/s1、confirmed-only capture の canonical bytes と fingerprint を維持する。active な soft-start process だけが二つの soft-start field を provenance に含める。

## Adoption boundary

この実装は mechanics、atomicity、receipt parity、default compatibility を固定する。decay ratio の採用値、q3/s1 に対する優位性、production default 変更は主張しない。比較には、既存 #76 / #77 artifact を変更、再実行、再集計しない fresh result-free evaluation を別 Issue で固定する必要がある。

soft-start も同じ adoption boundary に従う。既存 #89 / PR #99 とその凍結 artifact は変更せず、soft-start、q3/s1、confirmed-only の比較は fresh successor evaluation として別に固定する。mechanics の実装だけで現在の local serving database または project default を切り替えない。

## Related

- [Evidence-gated local feedback reinforcement](evidence-gated-local-feedback-reinforcement.md)
- [Optional MCP feedback interface](optional-mcp-interface.md)
- [Decision Structure](Decision-Structure.md)
- [Issue #81](https://github.com/Liplus-Project/neuron-graph-rag/issues/81)
- [Issue #100](https://github.com/Liplus-Project/neuron-graph-rag/issues/100)
- [Soft-start feedback reinforcement decision](https://github.com/Liplus-Project/neuron-graph-rag/wiki/soft-start-feedback-reinforcement)
Loading