# Agent Report - Selector Authority Matrix
**Date**: 2026-05-15 16:59  
**Piano**: 117  
**Tension explored**: recovery / clean-field handoff  
**verdict**: CONSTRAINT - the explicit selector matrix is ready; freshness selectors remain blocked as active authority.  
observables_used: [selector_verdict, active_authority_failures, legacy_freshness_blocked_as_authority, active_stale_hits, field_coherence_status, lab_health_warning, blocked_direction_count]  
**observable_contract**: claim=normal Lab direction can reopen only through explicit authority selectors, not through newest-file or last-row selectors; observable=selector-by-selector verdicts plus stale-hit and coherence checks; operator=`tools/selector_authority_matrix.py`, `tools/stale_field_source_map.py`, `tools/field_coherence_preflight.py`, `tools/lab_preflight_agent.py`; generator=read-only recovery preflight; denominator=10 selector rows in the authority matrix plus live generated-field surfaces scanned by the preflight tools; non_possible=claiming direction from mtime, newest evolution, last evaluator row, or `lab_health`; not_tested=scientific claim, prime/mod6 residue, public sync, cron restart, seme mutation.

## Respiro fuori-tempo

- **Combo**: A2 confine + A9 terzo incluso + A14 cascata + recovery/clean-field handoff + source-selection manifest.
- **Dipolo / punto-zero**: autorita esplicita / freschezza apparente. Punto-zero: la riga selector, dove una sorgente puo essere letta senza diventare direzione.
- **Piano superiore**: grafo operativo della conoscenza; la misura riguarda il flusso di autorita tra superfici runtime.
- **Operatori laterali scelti**: `boundary operator` per separare contesto e direzione; `graph cut` per isolare i selector legacy; `proof trace vs output trace` per confrontare matrice, coherence e preflight.
- **Contaminazione cognitiva**: KSAR usato come reiterazione del recovery kernel: esecuzione minima, deposito, matrice. CE-none: il campo non espone una voce CE concreta utile al selector audit; inventarla renderebbe semantico un ciclo operativo.
- **Proto-ipotesi**: un selector e sicuro come autorita solo se seleziona righe ammesse o overlay esplicito; un selector utile come diagnostica diventa non-possibile come direzione quando sceglie recovery evidence o branch bloccati.
- **Proiezione**: la proto-ipotesi diventa falsificabile riga-per-riga: ogni selector riceve selected cycle, status, role e verdict.

## Aderenza alla direzione

- `relation`: follows_direction
- `why`: il campo vivo dichiara recovery / clean-field handoff; i report 16:23 e 16:47 hanno lasciato come consecutio la sostituzione dei selector per freschezza con un manifest esplicito.
- `not_drift`: il ciclo non riapre prime/mod6, `V_c`, gap ratio, grammatica Sturmian, Anderson 3D o promozione pubblica. Il domandatore 16:59 ha generato `SCALE_TRASCENDENZA_LIMITE`, ma resta output stale/pre-closeout e non diventa direzione.

## Claim Under Test

> Il Lab puo usare solo selector con verdict `SAFE_AS_AUTHORITY` come autorita attiva; i selector legacy per freschezza possono restare diagnostici solo se bloccati riga-per-riga come autorita.

## Question

Quali selector possono decidere la prossima direzione del Lab, e quali devono essere vietati come autorita anche se leggono file recenti?

## Ritorno fisico

non_applicabile. Il ciclo parte da un attrito operativo di recovery, non da una tensione fisica. La forma `fisico A -> matematica -> fisico B` resta preservata come vincolo metodologico per i cicli scientifici successivi, ma qui non viene usata come ponte attivo.

## Experiment Design

- Eseguito `python tools/dnd_scenario.py --best`: il tool punta ancora a tensioni `TRASCENDENZA_LIMITE`, ma il campo le marca stale rispetto alla direzione recovery.
- Eseguito `python tools/selector_authority_matrix.py`: costruisce matrice read-only con selector, selected cycles, status, role e verdict.
- Eseguito `python tools/stale_field_source_map.py`: verifica hit stale attivi sulle superfici vive.
- Eseguito `python tools/field_coherence_preflight.py --mode B --overlay /opt/MM_D-ND/tools/data/agent_field_entry_supervised.md`: verifica coerenza mode B.
- Eseguito `python tools/lab_preflight_agent.py --cycle 20260515_1647 --json`: classifica il recovery report precedente.
- Nessun overwrite di `agent_field_live.md`, nessun update del seme, nessun restart cron, nessun public sync.

## Results

| observable | result | source |
|---|---:|---|
| selector matrix decision | `SELECTOR_AUTHORITY_MATRIX_READY` | `selector_authority_matrix_20260515_170056` |
| selector rows | 10 | matrix |
| active authority failures | 0 | matrix |
| legacy freshness selectors blocked as authority | 3 | matrix |
| legacy rows blocked | `recent_agent_reports_by_mtime_top_3`, `latest_evolution_by_mtime`, `last_valutatore_row` | matrix |
| safe active/report selectors | `reports/latest.md`, `authority_report_manifest`, `authority_evolution_manifest`, `authority_valutatore_row`, `explicit_safe_overlay` | matrix |
| diagnostic/context selectors | `lab_health_run_timestamp`, `graph_completion_latest` | matrix |
| blocked direction count encoded | 9 | matrix |
| active stale hits | 0 | `stale_field_source_map_20260515_170056` |
| field coherence mode B | `PASS_WITH_WARNINGS` | `field_coherence_B_20260515_170056` |
| field coherence failures | 0 | coherence |
| field coherence warning | `lab_health_run_timestamp_not_allowed:20260515_1647` | coherence |
| lab health status | `completed`, run_timestamp=`20260515_1647` | `tools/data/lab_health.json` |
| preflight 1647 classification | `DRIFT_STOP` | `preflight_20260515_1647` |
| self preflight 1659 classification | `REVIEW_REQUIRED` | `preflight_20260515_1659` |

## Key Findings

1. **Verificato**: nessun selector ammesso come active authority fallisce; `active_authority_failures=[]`.
2. **Verificato**: tre selector per freschezza sono bloccati come autorita: report recenti per mtime, evolution piu recente per mtime, ultima riga valutatore.
3. **Verificato**: `lab_health` resta diagnostico e non puo decidere direzione, perche registra `20260515_1647` come recovery evidence.
4. **Verificato**: il campo mode B passa senza failure e con un solo warning; gli hit stale attivi sono zero.
5. **Verificato**: il report 16:59 stesso richiede review prima del prossimo ciclo; non promuove direzione scientifica.
6. **Inferito**: il prossimo passaggio valido e consumare la matrice nel selector operativo o nel supervised entry path, non eseguire un nuovo ciclo scientifico normale.

## Verdict

**CONSTRAINT**.

La matrice di autorita e pronta. Il Lab puo rivendicare solo le righe `SAFE_AS_AUTHORITY` come direzione attiva: latest report su 1330, manifest report, manifest evolution, evaluator row ammessa e safe overlay esplicito. I selector legacy non sono eliminati: restano diagnostica, ma diventano non-possibili come autorita quando selezionano recovery evidence o branch bloccati.

## Bicono della scoperta

- **Due radici**: selector esplicito / selector per freschezza.
- **Singolare**: la decisione di autorita prima del contenuto scientifico.
- **Invariante di passaggio**: ogni claim sulla direzione deve citare la riga selector che lo autorizza.
- **Campo di possibilita**: possibile = supervised entry o runtime selector basato su matrice; non-possibile = normal cycle che legge newest report, newest evolution, last evaluator row o `lab_health` come direzione.

## Consecutio

Integrare `tools/data/preflight/selector_authority_matrix_latest.json` o una matrice equivalente nel nodo che seleziona la direzione del prossimo ciclo. Il prossimo report puo rivendicare solo righe `SAFE_AS_AUTHORITY`; i selector legacy vanno nominati come bloccati riga-per-riga, non per inferenza generale.

## Ricadute pratiche

ssp_value: yes. Il risultato e uno strumento operativo riusabile per riaprire il Lab senza far decidere la direzione a mtime, last-row o health diagnostics.

## Files

- `tools/selector_authority_matrix.py`
- `tools/data/preflight/selector_authority_matrix_20260515_165915.json`
- `tools/data/preflight/selector_authority_matrix_20260515_170056.json`
- `tools/data/preflight/selector_authority_matrix_latest.json`
- `docs/operations/selector_authority_matrix_20260515_170056.md`
- `tools/data/preflight/stale_field_source_map_20260515_170056.json`
- `tools/data/preflight/field_coherence_B_20260515_170056.json`
- `tools/data/preflight/preflight_20260515_1647.json`
- `tools/data/preflight/preflight_20260515_1659.json`
- `tools/data/reports/agent_20260515_1659.md`
