---
name: project-step1210-approved-target-literal-full-ban-2026-06-11
description: STEP 1210 (p) requireApprovedTargetLiteralFullBan — 06-09
metadata: 
  node_type: memory
  type: project
  originSessionId: fc6723ce-88ad-401e-b6ce-fe0050f4190a
---

# STEP 1210 — Invention pipeline 8th iteration hardening (p) `requireApprovedTargetLiteralFullBan`

## Why this matters (load-bearing)

STEP 1209 (o) `requireRejectedTargetLiteralFullBan` の symmetric mirror として approved target literal の full-strict ban を実装。 06-09 invention audit で direct hit observed (#5 = 06-08 approved #1 EXACT 完全一致 1 日前)。

★ **設計の核心 (Wave 系譜整合)**: strict full literal match (decorative quote strip + truncation なし full-length 正規化) で **word-for-word copy のみ ban**。 intentional Wave 系譜 (semantic continuity, paraphrased reuse) は通る。 mass-generation 13 例目 systemic 防止 + Wave 系譜 operational preservation 両立。

## Root cause (06-09 #5 incident, 9 例目 candidate direct hit)

**Target literal**: 「中心-周囲=宇宙情報記述の基本文法 原子/細胞/銀河/古代記号/D-FUMT共通」

**Timeline**:
- 2026-06-08: invention #1 (unified × cosmic-grammar) approved → approved-2026-06-08.json 書込
- 2026-06-09 朝: cron 生成 invention #5 が **EXACT 同一 literal** を再投入 (1 日前 approved literal copy)

**Why existing hardening did NOT catch**:
- cron timing 起因: 06-08 audit が approved-2026-06-08.json を書く前に 06-09 朝 cron が generate
- 既存 STEP 1040 `isTargetAxiomRecent` (60-char prefix + fuzzy 5 段) は approved file 不在で empty load → 検出失敗
- 次サイクル以降 (06-10+) は approved-2026-06-08.json 存在するが、 既存 normalize は decorative quote 非対応 + 60-char prefix truncation で leak 可能性

## Fix (4 段)

1. **`loadApprovedTargetLiteralsFullBan(days, today?)`**: approved-*.json のみ (★ rejected 含まない) から transplantTarget literal を strict-normalize して Set 化 + legacy hypothesis parse 含む + today 除外 + 60-day window
2. **`isTargetInApprovedFullBan(target)`**: strict normalize (normalizeAxiomLiteralStrict, STEP 1209 share) + full literal exact match
3. **`requireApprovedTargetLiteralFullBan` option** (default ON, 明示 OFF `{ requireApprovedTargetLiteralFullBan: false }`): `transplantStructure` の STEP 1209 (o) rejected check 後に追加 strict check + rotation (rejected AND approved 両 ban registry に当たらない candidate へ rotate)
4. **graceful fallback**: 全 target candidates が approved+rejected 両 ban registry にある場合は初期 targetTheory を使用 (例外を投げない)

DailyInventionReporter で既定明示 ON。 `_resetApprovedTargetFullBanCache()` test helper。

## Wave 系譜 paraphrase 保持 (load-bearing)

### Wave 系譜とは
SEED_KERNEL pool 拡張で意図的に同一概念の paraphrase バリエーションを蓄積する pattern。 例: 06-08 #1 cosmic-grammar approve → 後日「中心-周囲構造は宇宙の情報記述の基本文法」 と paraphrased で再 invention OK。

### (p) の Wave 系譜整合
- ✅ 通る: paraphrased semantic reuse (例: 同じ概念を別の語彙で表現)
- ❌ block: word-for-word copy (decorative quote 違いは strip で同一視)
- ❌ block: 単語順序入れ替えなど、 strict literal が異なれば pass、 EXACT 一致のみ block

= **意図的な Wave 系譜は保たれる + lazy mass-generation は防止**

## Implementation files

- `src/aios/invention/invention-engine.ts` (+90 行):
  - option 宣言: `requireApprovedTargetLiteralFullBan` + `recentApprovedTargetFullBanDays` (line ~205)
  - private field: `approvedTargetFullBan: Set<string> | null = null` (line ~234)
  - method: `loadApprovedTargetLiteralsFullBan` (line ~875)
  - method: `isTargetInApprovedFullBan` (line ~935)
  - method: `_resetApprovedTargetFullBanCache` (test helper)
  - `transplantStructure` 統合: STEP 1209 (o) check 後に追加 strict check + rotation (line ~1330)
- `src/aios/daily/daily-invention-reporter.ts` (+7 行): 既定明示 ON
- `test/step1210-approved-target-full-ban-test.ts` (+311 行): 25 tests
- `test/step1040-invention-target-axiom-dedup-test.ts` (+4 行): STEP 1210 default ON regression fix (明示 OFF 追加で legacy intent 保持)
- `package.json` (+1 script): `test:step1210`
- `CLAUDE.md` (+1 STEP entry): STEP 1210 行追加

## Test coverage (25/25 PASS)

1. loadApprovedTargetLiteralsFullBan — approved-*.json のみ load (rejected 除外, orthogonal to STEP 1209)
2. legacy hypothesis parse
3. today 除外 + 60-day window 境界
4. ★ 06-09 #5 incident 直接 reproduction (1 day prior approved EXACT copy)
5. strict full match — truncation で見逃さない (100-char tail diff)
6. ★ Wave 系譜 paraphrase 通過 (semantic reuse 保持, word reordering 通過)
7. default ON で transplantStructure target rotation 発動
8. 明示 OFF で legacy 動作 (rotation 不発)
9. cache reset helper
10. STEP 1209 (o) + STEP 1190 共存 regression
11. graceful: 全 candidates が ban の場合の fallback (例外なし)

## Regression (232/232 PASS / 0 breaking)

- step1019: 9/9
- step1040: 11/11 (★ 明示 `requireApprovedTargetLiteralFullBan: false` 追加で legacy intent 保持)
- step1047: 9/9
- step1087: 10/10
- step1088: 12/12
- step1089: 20/20
- step1089b: 11/11
- step1089c: 15/15
- step1089cd: 60/60
- step1190: 24/24
- step1209: 26/26
- step1210: 25/25
- **TOTAL: 232 passed, 0 failed**

## 8 iteration hardening 累積

STEP 1019 + 1040 + 1047 + 1087 + 1088 + 1089/b/c/cd + 1190 + 1209 + **1210**

## 残 8th iteration candidate (本 STEP では未実装)

- (l) `requirePriorArtAudit` (WebSearch hook, runtime cost 高)
- (m) `requireWithinBatchTargetUniqueness` (batch 内 target 重複 — 06-09 #3 hit)
- (n) `requireSourceVsHistoryStrict` (legacy parse source extractor 修正)

別 STEP 候補。

## Honest scope

invention pipeline robustness 強化、 「新発見」 ではない hardening、 Wave 系譜 paraphrase 保持で operational continuity 確保。

## 関連

- [[project-invention-2026-06-09-approve-1-reject-4-step1209-validity-demonstrated]] — 06-09 #5 (p) candidate direct hit detection
- [[feedback-no-rush-publication]] — Wave 系譜 paraphrase 保持原則
- [[feedback-chat-claude-hallucination-warning]] — 「両極端の中道」 規律 (block 過度でも under でもない balance)
- STEP 1209 (o) requireRejectedTargetLiteralFullBan — symmetric mirror
- STEP 1190 7-iteration hardening
- Wave 系譜 invention pattern (Tjukurpa 5/10 + Songline 5/11 + cosmic-grammar 06-08 + cosmic-resonance 系譜)
