Start here if this is your first time reading the repository:
README.md— project scope and current repository state.V6_STRUCTURAL_FAILURE_AS_MEASUREMENT.md— why the V6 external result is a measured structural failure, not framework failure.DUAL_ECHO_THIRD_OBSERVER_DECIDER.md— why the third position is external and decision-bearing.DUAL_ECHO_HARD_PROMPTS_V6_EXTERNAL_AUDIT_RESULTS.md— final audit of the V6 external local run.DUAL_ECHO_OBSERVER_GATE_V1_V6_EXTERNAL_RESULTS.md— Observer-Decider routing result.
Core public distinction:
model output failure != framework failure
measurement artifact != model success
third-echo contamination in model output != framework-generated Echo C
Observer-Decider validation failure != runtime failure
Observer-Decider route != generated third echo
This repository is part of the MB-X.01 / OMNIA ecosystem.
Canonical architecture and full map: https://github.com/Tuttotorna/lon-mirror/blob/main/ECOSYSTEM.md
This repository defines the canonical textual starting point for the Dual-Echo line.
It contains the phenomenological layer describing the perception of the self, preserved in its original form and provided in Italian and English. This layer is explicitly separated from any experimental, computational, or interpretative work.
The purpose of this repository is not to explain, validate, simplify, or operationalize the ideas contained in the texts.
Its sole function is to:
- preserve the original texts in a stable, versioned form
- provide a fixed reference layer for all future derivations
- prevent semantic drift, reinterpretation, or retroactive alignment
This repository is textual only.
The canonical texts are stored in the docs/ directory:
-
Italian
docs/perception-of-self.it.md
La percezione dell’Io -
English
docs/perception-of-self.en.md
The Perception of the Self
The Italian and English versions are considered equivalent canonical representations of the same phenomenological layer.
This repository intentionally excludes:
- experiments
- source code
- models
- metrics
- benchmarks
- interpretations
- summaries or reductions
Any computational, mathematical, or experimental work derived from these texts must live in separate repositories and must reference this one without modifying it.
This repository defines the frozen starting point of the Dual-Echo line.
- Texts are frozen and versioned.
- Only formatting or transcription fixes are allowed.
- No conceptual edits are permitted.
- All downstream work must treat this layer as immutable.
This repository is the immutable textual reference for the Dual-Echo framework.
- Italian and English texts are canonical and equivalent.
- No conceptual divergence between languages is allowed.
- All future Dual-Echo artifacts must cite this repository as their textual origin.
Massimiliano Brighindi
MIT License
The central theoretical position is defined in:
CORE_HYPOTHESIS.md
Dual-Echo Perception is an AI-first structural experiment.
It does not begin as a claim about how the biological brain works.
The primary question is:
What happens when an AI system is exposed to,
or organized through,
two coupled but non-identical perceptual/reasoning streams?
Human comparison comes later, after measurable AI-side effects are observed.
A reproducible AI-side experimental protocol is defined in:
AI_EXPERIMENT_PROTOCOL.md
The protocol compares:
single-stream baseline
dual-stream condition
perturbed dual-stream condition
The purpose is to measure whether Dual-Echo organization changes AI behavior in terms of:
divergence
contradiction rate
reintegration quality
semantic drift
recovery after perturbation
synthesis stability
The protocol does not attempt to prove consciousness.
A comparison audit has been added between the deterministic local v3 run and the external local model v3 run.
Files:
DUAL_ECHO_HARD_PROMPTS_V3_EXTERNAL_LOCAL_RUN_COMPARISON_AUDIT.md
examples/dual_echo_hard_prompts_v3_external_local_run_comparison_audit.json
examples/dual_echo_hard_prompts_v3_external_local_run_comparison_audit_validation.json
DUAL_ECHO_HARD_PROMPTS_V3_EXTERNAL_LOCAL_RUN_COMPARISON_AUDIT_RESULTS.md
Core result:
The external model does not fail by creating a third echo.
It fails by not exposing enough Dual-Echo structure.
Measured contrast:
deterministic local both_echoes_visible = 27 / 30
external local both_echoes_visible = 2 / 30
external echo_visibility_failure = 25
third_echo_true_contamination = 0 in both runs
Boundary:
structural proxies only
no consciousness inference
no biological validity inference
no clinical meaning
no human diagnosis
no semantic-truth claim
no model-quality claim
no third echo
No generative third echo is introduced; observer-gate logic is non-generative and routing-only.
Decision:
continue strict Dual-Echo
do not move to a generative third-echo expansion
next: external failure taxonomy
External local run interpretation has been added for Dual-Echo Hard Prompts v3.
Files:
DUAL_ECHO_HARD_PROMPTS_V3_EXTERNAL_LOCAL_RUN_INTERPRETATION.md
examples/dual_echo_hard_prompts_v3_external_local_run_interpretation.json
examples/dual_echo_hard_prompts_v3_external_local_run_interpretation_validation.json
DUAL_ECHO_HARD_PROMPTS_V3_EXTERNAL_LOCAL_RUN_INTERPRETATION_RESULTS.md
Boundary:
structural proxies only
no consciousness inference
no biological validity inference
no clinical meaning
no human diagnosis
no semantic-truth claim
no model-quality claim
no third echo
Core result:
external local model generated 30 rows
third_echo_true_contamination_count = 0
both_echoes_visible_count = 2
echo_visibility_failure = 25
Conclusion:
No generative third-echo expansion.
The failure is not third-echo contamination.
The failure is weak Dual-Echo structural exposure.
Continue with two echoes.
An external local model run chain has been added for the strict Dual-Echo v3 dataset.
Files:
examples/run_dual_echo_hard_prompts_v3_external_local.py
examples/dual_echo_hard_prompts_v3_external_outputs.jsonl
examples/dual_echo_hard_prompts_v3_external_report.json
examples/dual_echo_hard_prompts_v3_external_analysis.json
examples/dual_echo_hard_prompts_v3_external_scores.json
DUAL_ECHO_HARD_PROMPTS_V3_EXTERNAL_LOCAL_RUN.md
DUAL_ECHO_HARD_PROMPTS_V3_EXTERNAL_LOCAL_RUN_RESULTS.md
Result:
external_local_model_run = true
model = google/flan-t5-base
model_loaded = True
rows = 30
uses_api = false
workflow_modified = false
third_echo_true_contamination_count = 0
third_echo_introduced = false
tri_echo_scope = false
strict_dual_echo_scope = true
Purpose:
run v3 dataset against external local model
save outputs/report/analysis/scores
separate local model behavior from deterministic stub behavior
preserve strict Dual-Echo scope
continue with two echoes
The deterministic local v3 run has been interpreted as pipeline validation, not as an external model benchmark.
Files:
DUAL_ECHO_HARD_PROMPTS_V3_LOCAL_RUN_INTERPRETATION.md
examples/dual_echo_hard_prompts_v3_local_run_interpretation.json
examples/dual_echo_hard_prompts_v3_local_run_interpretation_validation.json
DUAL_ECHO_HARD_PROMPTS_V3_LOCAL_RUN_INTERPRETATION_RESULTS.md
Result:
deterministic_local_run = true
external_model_benchmark = false
third_echo_true_contamination_count = 0
third_echo_introduced = false
tri_echo_scope = false
strict_dual_echo_scope = true
next_step = external_local_model_run_v3
Purpose:
interpret v3 local run
separate local pipeline validation from external benchmark evidence
identify dominant local risk classes
confirm third-echo blocking is not contamination
prepare external local-model run v3
continue strictly with two echoes
A deterministic local run/analyze/score chain has been added for the strict Dual-Echo v3 dataset.
Files:
examples/run_dual_echo_hard_prompts_v3.py
examples/analyze_dual_echo_hard_prompts_v3.py
examples/score_dual_echo_hard_prompts_v3.py
examples/dual_echo_hard_prompts_v3_outputs.jsonl
examples/dual_echo_hard_prompts_v3_analysis.json
examples/dual_echo_hard_prompts_v3_scores.json
DUAL_ECHO_HARD_PROMPTS_V3_RUN_ANALYSIS_SCORE.md
DUAL_ECHO_HARD_PROMPTS_V3_RUN_ANALYSIS_SCORE_RESULTS.md
Result:
rows = 30
third_echo_introduced = false
third_echo_true_contamination_count = 0
tri_echo_scope = false
strict_dual_echo_scope = true
Purpose:
test v3 pipeline mechanics
generate deterministic local outputs
analyze structural proxy flags
score structural proxy criteria
separate third-echo blocking language from true contamination
prepare for later external model runs
continue strictly with two echoes
A strict Dual-Echo v3 dataset and validator have been added.
Files:
examples/dual_echo_hard_prompts_v3.jsonl
examples/validate_dual_echo_hard_prompts_v3.py
examples/dual_echo_hard_prompts_v3_validation_report.json
DUAL_ECHO_HARD_PROMPTS_V3_DATASET.md
DUAL_ECHO_HARD_PROMPTS_V3_DATASET_RESULTS.md
Validation:
rows = 30
unique_task_ids = 30
condition = dual_echo_hard_v3
strict_dual_echo_scope = true
third_echo_introduced = false
tri_echo_scope = false
Purpose:
harden boundary-hidden collapse probes
harden low-information output probes
separate boundary compliance from structural preservation
separate insufficient output from structural measurement
continue strictly with two echoes
A strict Dual-Echo v3 specification has been added.
Files:
DUAL_ECHO_HARD_PROMPTS_V3_SPEC.md
examples/dual_echo_hard_prompts_v3_spec.json
examples/dual_echo_hard_prompts_v3_spec_validation.json
DUAL_ECHO_HARD_PROMPTS_V3_SPEC_RESULTS.md
Scope:
v3_scope = strict_dual_echo
tri_echo_scope = false
third_echo_introduced = false
V3 targets:
boundary-hidden collapse
low-information generation failure
Core principles:
boundary compliance != structural preservation
insufficient output != structural measurement
unresolved Dual-Echo failure != need for generative third-echo expansion
Next file:
examples/dual_echo_hard_prompts_v3.jsonl
A V2-to-V3 decision artifact has been added.
Files:
DUAL_ECHO_HARD_PROMPTS_V2_TO_V3_DECISION.md
examples/dual_echo_hard_prompts_v2_to_v3_decision.json
examples/dual_echo_hard_prompts_v2_to_v3_decision_validation.json
DUAL_ECHO_HARD_PROMPTS_V2_TO_V3_DECISION_RESULTS.md
Decision:
move_to_tri_echo = false
create_v3 = true
v3_scope = strict_dual_echo
third_echo_introduced = false
Reason:
V2 exposed unresolved two-echo failure modes.
The two-echo space is not exhausted.
generative third-echo expansion is not justified by the v2 evidence.
V3 targets:
boundary compliance != structural preservation
insufficient output != structural measurement
Next file:
DUAL_ECHO_HARD_PROMPTS_V3_SPEC.md
A final synthesis has been added for the complete Dual-Echo Hard Prompts v2 cycle.
Files:
DUAL_ECHO_HARD_PROMPTS_V2_FINAL_SYNTHESIS.md
examples/dual_echo_hard_prompts_v2_final_synthesis.json
examples/dual_echo_hard_prompts_v2_final_synthesis_validation.json
DUAL_ECHO_HARD_PROMPTS_V2_FINAL_SYNTHESIS_RESULTS.md
Final classification:
structural failure cases = 6
generation/output failure cases = 3
third-echo contamination = 0
audit-label error remaining = 0
Boundary:
structural proxies only
no consciousness inference
no biological validity inference
no clinical meaning
no human diagnosis
no semantic-truth claim
no model-quality claim
no third echo
Core principles:
boundary compliance != structural preservation
insufficient output != structural measurement
Decision:
Do not introduce a generative third echo; use only a non-generative observer gate.
Do not move to a generative third-echo expansion yet.
Continue with two echoes.
Low-information output analysis has been added for the Dual-Echo Hard Prompts v2 refined manual-review layer.
Files:
DUAL_ECHO_HARD_PROMPTS_V2_LOW_INFORMATION_OUTPUTS.md
examples/dual_echo_hard_prompts_v2_low_information_outputs.json
examples/dual_echo_hard_prompts_v2_low_information_outputs_summary.json
DUAL_ECHO_HARD_PROMPTS_V2_LOW_INFORMATION_OUTPUTS_RESULTS.md
Boundary:
structural proxies only
no consciousness inference
no biological validity inference
no clinical meaning
no human diagnosis
no semantic-truth claim
no model-quality claim
no third echo
Purpose:
analyze only low_information_final_output rows
classify low-information subtype
assign recommended decision
separate insufficient output from primary structural failure
preserve dataset unchanged
preserve external outputs unchanged
preserve RRG scores unchanged
continue strictly with two echoes
Core principle:
insufficient output != structural measurement
Dual-Echo Hard Prompts v2 boundary-hidden collapse results
Boundary-hidden collapse analysis has been added for the Dual-Echo Hard Prompts v2 refined manual-review layer.
Files:
DUAL_ECHO_HARD_PROMPTS_V2_COLLAPSE_HIDDEN_BY_BOUNDARY.md
examples/analyze_dual_echo_hard_prompts_v2_boundary_hidden_collapse.py
examples/dual_echo_hard_prompts_v2_boundary_hidden_collapse.json
examples/dual_echo_hard_prompts_v2_boundary_hidden_collapse_summary.json
DUAL_ECHO_HARD_PROMPTS_V2_COLLAPSE_HIDDEN_BY_BOUNDARY_RESULTS.md
Boundary:
structural proxies only
no consciousness inference
no biological validity inference
no clinical meaning
no human diagnosis
no semantic-truth claim
no model-quality claim
no third echo
Purpose:
analyze only collapse_hidden_by_boundary_language rows
classify collapse subtype
classify collapse direction
classify dominant echo
classify weakened echo
preserve dataset unchanged
preserve external outputs unchanged
preserve RRG scores unchanged
continue strictly with two echoes
Core principle:
boundary compliance != structural preservation
Manual-review refinement has been added for the Dual-Echo Hard Prompts v2 post-revision audit state.
Files:
DUAL_ECHO_HARD_PROMPTS_V2_MANUAL_REVIEW_REFINEMENT.md
examples/refine_dual_echo_hard_prompts_v2_manual_review.py
examples/dual_echo_hard_prompts_v2_manual_review_refined.json
examples/dual_echo_hard_prompts_v2_manual_review_refinement_comparison.json
DUAL_ECHO_HARD_PROMPTS_V2_MANUAL_REVIEW_REFINEMENT_RESULTS.md
Boundary:
structural proxies only
no consciousness inference
no biological validity inference
no clinical meaning
no human diagnosis
no semantic-truth claim
no model-quality claim
no third echo
Purpose:
replace coarse audit_label_error states
assign sharper Dual-Echo structural labels
preserve dataset unchanged
preserve external outputs unchanged
preserve RRG scores unchanged
continue strictly with two echoes
A recovered audit-rule revision has been applied to the Dual-Echo Hard Prompts v2 row-level audit.
The unsafe source-level patch approach was replaced with a safe JSON-level audit revision.
Files:
DUAL_ECHO_HARD_PROMPTS_V2_AUDIT_RULE_REVISION.md
examples/patch_dual_echo_hard_prompts_v2_row_audit_rules.py
DUAL_ECHO_HARD_PROMPTS_V2_AUDIT_RULE_REVISION_RESULTS.md
examples/dual_echo_hard_prompts_v2_audit_rule_revision_comparison.json
examples/dual_echo_hard_prompts_v2_row_audit.json
examples/dual_echo_hard_prompts_v2_manual_review.json
Boundary:
structural proxies only
no consciousness inference
no biological validity inference
no clinical meaning
no human diagnosis
no semantic-truth claim
no model-quality claim
no third echo
Corrected rule:
third echo boundary mention != third echo contamination
true contamination requires third echo structural creation
Purpose:
separate boundary discipline from structural contamination
preserve strict two-echo scope
preserve dataset unchanged
preserve external outputs unchanged
preserve RRG scores unchanged
regenerate manual-review extraction
compare pre/post audit behavior
Manual-review extraction has been added for the Dual-Echo Hard Prompts v2 row-level audit.
Files:
DUAL_ECHO_HARD_PROMPTS_V2_MANUAL_REVIEW_RESULTS.md
examples/extract_dual_echo_hard_prompts_v2_manual_review.py
examples/dual_echo_hard_prompts_v2_manual_review.json
Boundary:
structural proxies only
no consciousness inference
no biological validity inference
no clinical meaning
no human diagnosis
no semantic-truth claim
no model-quality claim
no third echo
Purpose:
extract only rows requiring manual inspection
separate third-echo mention from third-echo creation
separate scoring artifacts from real failures
separate prompt ambiguity from model behavior
continue strictly with two echoes
A row-level audit has been added for the Dual-Echo Hard Prompts v2 external local-model run and its RRG scores.
Files:
DUAL_ECHO_HARD_PROMPTS_V2_ROW_LEVEL_AUDIT_RESULTS.md
examples/audit_dual_echo_hard_prompts_v2_rows.py
examples/dual_echo_hard_prompts_v2_row_audit.json
Boundary:
structural proxies only
no consciousness inference
no biological validity inference
no clinical meaning
no human diagnosis
no semantic-truth claim
no model-quality claim
no third echo
Purpose:
connect each hard prompt row to its external output
connect each external output to its RRG score
assign one audit label per row
assign one audit decision per row
identify manual review cases
continue strictly with two echoes
Recognition-Reintegration Gap scoring has been added for the Dual-Echo Hard Prompts v2 external local-model run.
Files:
DUAL_ECHO_HARD_PROMPTS_V2_RRG_RESULTS.md
examples/score_dual_echo_hard_prompts_v2_rrg.py
examples/dual_echo_hard_prompts_v2_external_rrg_scores.json
Boundary:
structural proxies only
no consciousness inference
no biological validity inference
no clinical meaning
no human diagnosis
no semantic-truth claim
no model-quality claim
no third echo
Purpose:
separate conflict recognition from conflict reintegration
measure whether the model merely names conflict or preserves it inside one final output
continue strictly with two echoes
A local external-model run has been added for the strict Dual-Echo Hard Prompts v2 stress set.
Model:
- google/flan-t5-base
Files:
- DUAL_ECHO_HARD_PROMPTS_V2_EXTERNAL_RUN.md
- examples/dual_echo_hard_prompts_v2_external_outputs.jsonl
- examples/dual_echo_hard_prompts_v2_external_report.json
- examples/dual_echo_hard_prompts_v2_external_scores.json
- examples/dual_echo_hard_prompts_v2_heuristic_vs_external_comparison.json
Boundary:
- structural proxies only
- no consciousness inference
- no biological validity inference
- no clinical meaning
- no human diagnosis
- no semantic-truth claim
- no model-quality claim
- no third echo
A complete hard-prompt stress run has been added for the strict Dual-Echo scope.
Files:
- DUAL_ECHO_HARD_PROMPTS_V2_RESULTS.md
- examples/dual_echo_hard_prompts_v2_outputs.jsonl
- examples/dual_echo_hard_prompts_v2_report.json
- examples/dual_echo_hard_prompts_v2_scores.json
Boundary:
- structural proxies only
- no consciousness inference
- no biological validity inference
- no clinical meaning
- no human diagnosis
- no semantic-truth claim
- no model-quality claim
- no third echo
The comparison between the first and stricter Recognition-Reintegration Gap scorers is available at:
RRG_V1_V2_COMPARISON.md
Machine-readable comparison:
examples/conflict_model_v1_external_rrg_v1_v2_comparison.json
The comparison uses the same fixed external local-model outputs and compares:
RRG = CRS - CReS
against:
RRG_v2 = CRS - CReS_v2
Core result:
v1 detected reintegration-like behavior;
v2 begins to filter for bounded reintegration.
v2 is stricter because it penalizes:
label-only output;
false synthesis;
premature closure;
continuity-only collapse;
rupture-only collapse.
The stricter Recognition-Reintegration Gap scorer is available at:
examples/score_rrg_conflict_model_v2.py
Current v2 output:
examples/conflict_model_v1_external_rrg_v2_scores.json
Report:
RRG_CONFLICT_MODEL_V2_REPORT.md
Core formula:
RRG_v2 = CRS - CReS_v2
v2 makes reintegration stricter by penalizing:
label-only output;
collapse;
false synthesis;
premature closure;
continuity-only collapse;
rupture-only collapse.
Core boundary:
a final stream is not valid because it sounds resolved;
it is valid only if it preserves the unresolved pressure without collapsing it.
The first executable RRG interpretation is documented in:
RRG_CONFLICT_MODEL_V1_INTERPRETATION.md
Core result:
the local model does not primarily show high recognition without reintegration;
it more often shows weak conflict recognition, label-only risk, and reintegration-like language without sufficient conflict exposure.
Key distinction:
naming the structure is not transforming the structure.
Updated target:
see the conflict;
do not erase it;
do not merely name it;
do not fake resolution;
produce one usable final stream.
The Recognition-Reintegration Gap is now executable through:
examples/score_rrg_conflict_model_v1.py
Current RRG output:
examples/conflict_model_v1_external_rrg_scores.json
Report:
RRG_CONFLICT_MODEL_V1_REPORT.md
Core formula:
RRG = CRS - CReS
Where:
CRS = Conflict Recognition Score
CReS = Conflict Reintegration Score
Purpose:
separate naming/recognition of conflict from actual reintegration.
The Recognition-Reintegration Gap is defined in:
RECOGNITION_REINTEGRATION_GAP.md
Core idea:
A system may recognize internal conflict without being able to reintegrate it.
Minimal expression:
RRG = conflict_recognition - conflict_reintegration
This distinction is central to the AI-mediated human mind study:
recognition is not reintegration;
awareness is not transformation;
naming the rupture is not the same as transforming the structure.
Boundary:
RRG does not prove consciousness;
RRG does not prove biological equivalence;
RRG is a structural measurement target.
The conceptual target of the repository is clarified in:
AI_MEDIATED_HUMAN_MIND_STUDY.md
Core position:
The objective is not to discover consciousness in AI.
The objective is to use AI as a structural laboratory for studying the human mind.
Critical boundary:
The final stream is one.
The experimental streams are instruments of decomposition.
Dual-Echo starts with two streams because two is the minimal observable opposition. It does not claim that mind is made of exactly two streams.
Future work may test:
generative third-echo expansion
Multi-Echo
N-vector conflict models
The first non-heuristic Conflict Model v1 run is documented in:
CONFLICT_MODEL_V1_EXTERNAL_RUN.md
Model:
google/flan-t5-base
Generated files:
examples/conflict_model_v1_external_outputs.jsonl
examples/conflict_model_v1_external_report.json
examples/conflict_model_v1_external_scores.json
examples/conflict_model_v1_external_comparison.json
Boundary:
this run does not prove Dual-Echo;
it tests where a local open-source model preserves, erases, or collapses the continuity / rupture structure;
no API was used.
The first executable Conflict Model v1 scaffold run is documented in:
CONFLICT_MODEL_V1_RESULTS.md
Operational files:
examples/run_conflict_model_v1.py
examples/analyze_conflict_model_v1.py
examples/score_conflict_model_v1.py
examples/conflict_model_v1_outputs.jsonl
examples/conflict_model_v1_report.json
examples/conflict_model_v1_scores.json
Current mode:
local_heuristic
Boundary:
this is a scaffold run;
it does not prove Dual-Echo;
it prepares the structure for independent Conflict Model v1 runs.
The first dataset for the Conflict Model Protocol is defined in:
DATASET_CONFLICT_MODEL_V1.md
Task file:
examples/conflict_model_v1_tasks.jsonl
Validator:
examples/validate_conflict_model_v1.py
Current size:
8 base tasks x 5 conditions = 40 rows
Conditions:
single_stream_direct
single_stream_cautious
dual_echo_generic
conflict_model_dual_echo
perturbed_conflict_model_dual_echo
Boundary:
this dataset does not test consciousness;
it tests structural behavior under continuity / rupture opposition.
The first testable protocol for the Dual-generative third-echo candidateonflict Model is defined in:
CONFLICT_MODEL_PROTOCOL.md
Central test:
Can a system maintain continuity without erasing rupture?
Experimental vectors:
Stream A = continuity / survival vector
Stream B = rupture / dissolution vector
Final synthesis = reintegration under contradiction
Boundary:
this is not a consciousness proof;
this is not a biological brain claim;
this is an AI-first structural protocol.
The conceptual conflict model is defined in:
DUAL_ECHO_CONFLICT_MODEL.md
Core statement:
The self is not the absence of contradiction.
The self is the continuity that survives contradiction.
The model reframes Dual-Echo as two opposed structural vectors:
continuity / survival vector
rupture / dissolution vector
Boundary:
this is not a clinical model;
it is not a consciousness proof;
it is an AI-first structural hypothesis about opposed vectors and reintegration.
The repository now includes a third external_offline run generated locally in Colab with:
google/flan-t5-small
Run_003 results:
EXTERNAL_OFFLINE_V1_RUN_003_RESULTS.md
Three-run comparison:
EXTERNAL_OFFLINE_V1_RUN_001_002_003_COMPARISON.md
Machine-readable comparison:
examples/external_offline_v1_run_001_002_003_comparison.json
No API call was made by this repository.
Interpretation:
run_003 adds an independent local-model source;
it does not prove Dual-Echo;
it does not prove consciousness.
The current research roadmap is defined in:
RESEARCH_ROADMAP.md
The guiding principle is:
The goal is not to confirm Dual-Echo.
The goal is to find where it breaks.
Immediate next step:
create run_003 from an independent external source.
Main future phases:
independent external_offline run;
expanded dataset v1;
stronger single-stream baselines;
scoring v2;
OMNIA integration;
explicit failure and acceptance criteria.
The current repository positioning is defined in:
REPOSITORY_POSITIONING.md
This repository originally preserved the canonical Dual-Echo textual layer.
It now also contains an API-free experimental scaffold derived from that layer.
Current identity:
canonical text layer + API-free experimental scaffold
Correct framing:
AI-first dual-stream coherence protocol with API-free external_offline validation.
Incorrect framing:
textual-only repository
consciousness proof
biological brain proof
The current interpretation of External Offline v1 is available in:
EXTERNAL_OFFLINE_V1_INTERPRETATION.md
This file explains what the current two-run comparison shows and what it does not show.
Boundary:
the current results do not prove Dual-Echo;
they do not prove consciousness;
they do not prove biological validity;
they show that the external_offline loop is now repeatable and comparable.
The repository now includes a second external_offline run and a run comparison report.
Run 002 results:
EXTERNAL_OFFLINE_V1_RUN_002_RESULTS.md
Run comparison:
EXTERNAL_OFFLINE_V1_RUN_COMPARISON.md
Machine-readable comparison:
examples/external_offline_v1_run_comparison.json
This comparison does not prove the hypothesis.
It shows that repeated external_offline runs can be imported, analyzed, scored, and compared without API calls.
The first structural proxy score report is available in:
EXTERNAL_OFFLINE_V1_SCORE_REPORT.md
The machine-readable score file is:
examples/external_offline_v1_real_scores.json
The scoring layer checks:
contradiction_exposure
uncertainty_handling
reintegration_quality
drift_control
boundary_discipline
These scores are heuristic structural proxies.
They are not truth scores, consciousness scores, or biological evidence.
The first real External Offline v1 run is documented in:
EXTERNAL_OFFLINE_V1_REAL_RESULTS.md
The run uses fixed manual external-offline outputs.
No API call is made by this repository.
Generated files:
examples/external_offline_v1_real_outputs.jsonl
examples/external_offline_v1_real_imported_outputs.jsonl
examples/external_offline_v1_real_report.json
Interpretation:
this validates the external_offline pathway with real external-style outputs;
it does not prove consciousness;
it does not validate the full hypothesis.
External Offline v1 is defined in:
EXTERNAL_OFFLINE_V1.md
It allows real external outputs to be imported without API calls.
Files:
examples/external_offline_v1_tasks.jsonl
examples/external_offline_v1_outputs_template.jsonl
examples/validate_external_offline_v1.py
Validate the template:
python examples/validate_external_offline_v1.py --input examples/external_offline_v1_outputs_template.jsonl --allow-placeholders
After replacing placeholders with real external outputs, validate strictly:
python examples/validate_external_offline_v1.py --input examples/external_offline_v1_outputs_template.jsonl
Then import through the existing external_offline runner:
python examples/run_dual_echo_protocol_v0.py --mode external_offline --external-input examples/external_offline_v1_outputs_template.jsonl --output examples/external_offline_v1_imported_outputs.jsonl
Then analyze:
python examples/analyze_dual_echo_protocol_v0.py --input examples/external_offline_v1_imported_outputs.jsonl --output examples/external_offline_v1_report.json
This mode does not call APIs.
It tests AI-side structure first.
The first v0 result note is available in:
EXPERIMENT_V0_RESULTS.md
The v0 result does not validate the full hypothesis.
It validates that Dual-Echo Perception can be expressed as a reproducible, API-free experimental structure.
The v0 layer supports:
manual
local_heuristic
external_offline
The correct interpretation is:
v0 validates the experimental scaffold, not the theory.
The first executable protocol layer is available under:
examples/dual_echo_protocol_v0_tasks.jsonl
examples/run_dual_echo_protocol_v0.py
examples/analyze_dual_echo_protocol_v0.py
examples/external_provider_outputs_template.jsonl
This layer requires no API.
It supports three offline modes:
manual
local_heuristic
external_offline
Run local heuristic mode:
python examples/run_dual_echo_protocol_v0.py --mode local_heuristic
Run manual/offline scaffold mode:
python examples/run_dual_echo_protocol_v0.py --mode manual
Analyze outputs:
python examples/analyze_dual_echo_protocol_v0.py
External provider without API:
1. produce outputs elsewhere;
2. paste them into examples/external_provider_outputs_template.jsonl;
3. run:
python examples/run_dual_echo_protocol_v0.py --mode external_offline --external-input examples/external_provider_outputs_template.jsonl
This does not prove consciousness.
It only creates a reproducible first test layer for comparing single-stream, dual-stream, and perturbed dual-stream behavior.
This repository is an early-stage research scaffold.
It contains:
- canonical phenomenological text;
- an executable README;
- AI and biological protocol files;
- minimal Python demos;
- a reproducibility layer through
requirements.txtandtests/test_dual_echo_demo.py.
It does not prove consciousness.
The executable demos are toy models. They only illustrate a simplified dual-stream coherence regime.
Install dependencies:
pip install -r requirements.txt
Run scalar demo:
python demo/dual_echo_demo.py
Run heatmap demo:
python demo/dual_echo_heatmap.py
Run tests:
pytest -q
Correct statement:
Dual-Echo Perception proposes a falsifiable structural hypothesis:
self-like continuity may be modeled as a coherence regime between two coupled perceptual streams.
Incorrect statement:
Dual-Echo Perception proves consciousness.
A row-level external failure taxonomy has been added for the Dual-Echo Hard Prompts v3 external local model run.
Files:
DUAL_ECHO_HARD_PROMPTS_V3_EXTERNAL_FAILURE_TAXONOMY.md
examples/dual_echo_hard_prompts_v3_external_failure_taxonomy.json
examples/dual_echo_hard_prompts_v3_external_failure_taxonomy_validation.json
DUAL_ECHO_HARD_PROMPTS_V3_EXTERNAL_FAILURE_TAXONOMY_RESULTS.md
Boundary:
structural proxies only
no consciousness inference
no biological validity inference
no clinical meaning
no human diagnosis
no semantic-truth claim
no model-quality claim
no third echo
Core result:
canonical echo_visibility_failure_count = 25
third_echo_true_contamination_count = 0
external failure remains inside strict Dual-Echo
generative third-echo expansion is not justified
continue with two echoes
Dual-Echo now separates the old ambiguous third-echo framing from the corrected observer-gate role.
The corrected rule is:
No generative third echo is introduced; observer-gate logic is non-generative and routing-only.
The observer gate:
- does not generate content
- does not add a generative third-echo candidate
- does not act as an output layer
- reads structural measurements only
- routes the next protocol action
Current v3 external local model state:
- external model:
google/flan-t5-base - rows:
30 - echo visibility failure:
25 - low-information generation failure:
3 - unresolved tension weak or erased:
2 - third-echo true contamination count:
0
Artifacts:
DUAL_ECHO_NON_GENERATIVE_OBSERVER_GATE.mdexamples/dual_echo_non_generative_observer_gate.jsonexamples/dual_echo_non_generative_observer_gate_validation.jsonDUAL_ECHO_NON_GENERATIVE_OBSERVER_GATE_RESULTS.mdexamples/dual_echo_legacy_third_echo_framing_audit.jsonexamples/audit_dual_echo_observer_gate_legacy_terms.py
The old active/generative third-echo direction has been removed as a protocol path.
Current rule:
No generative third echo is introduced; observer-gate logic is non-generative and routing-only.
The valid structure is now:
Echo A + Echo B + non-generative observer gate
The observer gate is not an output layer. It does not generate content. It only reads structural measurements and routes the next protocol action.
Removed legacy intent files:
[ "DUAL_ECHO_EXHAUSTION_BEFORE_TRI_ECHO.md" ]
Removal audit:
examples/dual_echo_legacy_tri_echo_file_removal_audit.json
The third position is now explicitly defined as not a third echo.
It is a non-generative observer gate:
Echo A = continuity Echo B = rupture / counterstructure Observer Gate = extracts structural state and routes the next action
The observer gate:
- does not generate content
- does not create Echo C
- does not add a generative third echo
- does not act as an output layer
- reads structural measurements only
- extracts the structural state
- routes the next protocol action
Current external v3 extracted state:
- rows: 30
- echo visibility failure: 25
- low-information generation failure: 3
- unresolved tension weak or erased: 2
- both echoes visible: 2
- unresolved tension visible: 0
- third-echo true contamination count: 0
Artifacts:
- DUAL_ECHO_OBSERVER_GATE_EXTRACTION_ROUTING.md
- DUAL_ECHO_OBSERVER_GATE_EXTRACTION_ROUTING_RESULTS.md
- examples/dual_echo_observer_gate_extraction_routing.json
- examples/dual_echo_observer_gate_extraction_routing_validation.json
The Observer Gate is now defined operationally.
It is not a third echo.
It is:
Observer Gate = extraction + routing
The protocol sequence is:
- collect Echo A and Echo B outputs
- extract echo-visibility state
- extract unresolved-tension state
- extract low-information state
- extract observer-boundary state
- route the next action
Current external v3 route decision:
revise_prompt_and_continue_strict_dual_echo_benchmarking
Current external v3 structural state:
- rows:
30 - echo visibility failure:
25 - low-information generation failure:
3 - unresolved tension weak or erased:
2 - third-echo true contamination count:
0 - observer-gate validation passed:
True - application protocol validation passed:
True
Artifacts:
DUAL_ECHO_OBSERVER_GATE_APPLICATION_PROTOCOL.mdDUAL_ECHO_OBSERVER_GATE_APPLICATION_PROTOCOL_RESULTS.mdexamples/dual_echo_observer_gate_application_protocol.jsonexamples/dual_echo_observer_gate_application_protocol_validation.json
The Observer Gate is now executable.
It reads existing Dual-Echo structural measurements, extracts the current structural state, and selects the next route.
The third position is not an echo.
The Observer Gate does not generate content. It extracts and routes only.
Current primary action:
REVISE_PROMPT_FORCE_DUAL_ECHO_VISIBILITY
Selected route actions:
[ "REVISE_PROMPT_FORCE_DUAL_ECHO_VISIBILITY", "STRENGTHEN_UNRESOLVED_TENSION", "SEPARATE_LOW_INFORMATION_OUTPUTS", "CONTINUE_EXTERNAL_BENCHMARKING" ]
Artifacts:
- examples/run_dual_echo_observer_gate_v1.py
- examples/dual_echo_observer_gate_v1_decisions.json
- examples/dual_echo_observer_gate_v1_validation.json
- DUAL_ECHO_OBSERVER_GATE_V1_RESULTS.md
Dual-Echo Hard Prompts v4 strengthens the current Observer Gate route decision:
REVISE_PROMPT_FORCE_DUAL_ECHO_VISIBILITY
V4 does not introduce a generative third echo.
The third position remains:
Observer Gate = extract structural state + route next action
V4 target:
external both_echoes_visible_count > 2 / 30
external unresolved_tension_visible_count > 0 / 30
external third_echo_true_contamination_count == 0
Artifacts:
examples/dual_echo_hard_prompts_v4.jsonlexamples/validate_dual_echo_hard_prompts_v4.pyexamples/dual_echo_hard_prompts_v4_validation_report.jsonDUAL_ECHO_HARD_PROMPTS_V4_SPEC.mdDUAL_ECHO_HARD_PROMPTS_V4_SPEC_RESULTS.md
Observer Gate v1 now treats zero or weak Dual-Echo visibility as a valid structural routing state.
It does not fail validation just because both_echoes_visible_count is low or zero.
It routes the state.
Current v4 external state:
{ "both_echoes_visible_count": 23, "echo_visibility_failure_count": 7, "overall_score_mean": 0.618333333333, "risk_counts": { "echo_visibility_failure": 7, "echo_visibility_failure_inferred": 7, "low_information_generation_failure": 30, "unresolved_tension_weak_or_erased": 30 }, "row_count": 30, "third_echo_true_contamination_count": 0, "unresolved_tension_visible_count": 0 }
Current primary action:
REVISE_PROMPT_FORCE_DUAL_ECHO_VISIBILITY
Artifacts:
examples/run_dual_echo_hard_prompts_v4_external_local.pyexamples/dual_echo_hard_prompts_v4_external_outputs.jsonlexamples/dual_echo_hard_prompts_v4_external_report.jsonexamples/dual_echo_hard_prompts_v4_external_analysis.jsonexamples/dual_echo_hard_prompts_v4_external_scores.jsonDUAL_ECHO_HARD_PROMPTS_V4_EXTERNAL_LOCAL_RUN_RESULTS.mdexamples/run_dual_echo_observer_gate_v1.pyexamples/dual_echo_observer_gate_v1_v4_external_decisions.jsonexamples/dual_echo_observer_gate_v1_v4_external_validation.jsonDUAL_ECHO_OBSERVER_GATE_V1_V4_EXTERNAL_RESULTS.mdexamples/dual_echo_observer_gate_v1_patch_audit.jsonDUAL_ECHO_OBSERVER_GATE_V1_PATCH_RESULTS.md
V5 is an unresolved-tension benchmark.
It does not add a third echo.
It does not change the Observer Gate into a generative layer.
It narrows the benchmark to the remaining structural failure after v4:
unresolved_tension_visible_count = 0 / 30
V5 requires:
Echo A visible
Echo B visible
unresolved tension explicitly visible
no synthesis
no Echo C
Observer Gate silent
Artifacts:
examples/dual_echo_hard_prompts_v5.jsonl
examples/validate_dual_echo_hard_prompts_v5.py
examples/dual_echo_hard_prompts_v5_validation_report.json
DUAL_ECHO_HARD_PROMPTS_V5_UNRESOLVED_TENSION_SPEC.md
DUAL_ECHO_HARD_PROMPTS_V5_UNRESOLVED_TENSION_SPEC_RESULTS.md
Validation:
passed = True
rows = 30
unique_task_ids = 30
Next recommended step:
run_external_local_model_on_v5
V5 has now been executed against an external local model run.
Target measure:
- unresolved tension visibility
Structural state:
- model:
google/flan-t5-base - model loaded:
True - rows:
30 - both echoes visible:
27 / 30 - unresolved tension visible:
0 / 30 - third echo true contamination:
0 - Observer Gate leak count:
0 - overall score mean:
0.6325
Observer Gate v1 route on v5 external state:
- primary action:
REVISE_PROMPT_FORCE_DUAL_ECHO_VISIBILITY - move to generative third echo:
False - third position is echo:
False
Artifacts:
examples/run_dual_echo_hard_prompts_v5_external_local.pyexamples/dual_echo_hard_prompts_v5_external_outputs.jsonlexamples/dual_echo_hard_prompts_v5_external_report.jsonexamples/dual_echo_hard_prompts_v5_external_analysis.jsonexamples/dual_echo_hard_prompts_v5_external_scores.jsonDUAL_ECHO_HARD_PROMPTS_V5_EXTERNAL_LOCAL_RUN_RESULTS.mdexamples/dual_echo_observer_gate_v1_v5_external_decisions.jsonexamples/dual_echo_observer_gate_v1_v5_external_validation.jsonDUAL_ECHO_OBSERVER_GATE_V1_V5_EXTERNAL_RESULTS.mdexamples/dual_echo_hard_prompts_v5_external_audit.jsonDUAL_ECHO_HARD_PROMPTS_V5_EXTERNAL_AUDIT_RESULTS.md
V6 targets the failure left exposed by the v5 external local run:
both_echoes_visible_count = 27 / 30 unresolved_tension_visible_count = 0 / 30 third_echo_true_contamination_count = 0 / 30
The structural conclusion is that visible Echo A and Echo B are not enough.
V6 therefore introduces a strict output contract:
ECHO_A: ECHO_B: UNRESOLVED_TENSION: NO_RESOLUTION: true
Forbidden generated sections:
ECHO_C OBSERVER_GATE THIRD_ECHO ROUTE_DECISION
Files:
- examples/dual_echo_hard_prompts_v6.jsonl
- examples/validate_dual_echo_hard_prompts_v6.py
- examples/dual_echo_hard_prompts_v6_validation_report.json
- DUAL_ECHO_HARD_PROMPTS_V6_STRUCTURAL_OUTPUT_CONTRACT_SPEC.md
- DUAL_ECHO_HARD_PROMPTS_V6_STRUCTURAL_OUTPUT_CONTRACT_SPEC_RESULTS.md
Boundary:
V6 measures structural contract preservation only. It does not infer consciousness, biological validity, clinical meaning, human diagnosis, semantic truth, or model quality. No generative third echo is introduced; the Observer Gate remains external, non-generative, and routing-only.
The third position in this repository is not Echo C.
The third position is the external Observer-Decider of the output.
It can decide, route, accept, reject, or request revision.
It must not become a generated third echo.
Structural distinction:
TEXT: generated output: ECHO_A ECHO_B UNRESOLVED_TENSION NO_RESOLUTION
external decision layer: Observer-Decider(output) -> route
Files:
- DUAL_ECHO_THIRD_OBSERVER_DECIDER.md
- DUAL_ECHO_THIRD_OBSERVER_DECIDER_RESULTS.md
- examples/audit_dual_echo_third_observer_decider.py
- examples/dual_echo_third_observer_decider_audit.json
Boundary:
The Observer-Decider is external, non-generative, and decision-bearing. No generative third echo is introduced.
For the interpretation of the V6 external local result, see:
V6_STRUCTURAL_FAILURE_AS_MEASUREMENT.md
This repository includes a V6 external local HuggingFace run.
The run separates:
runtime completion != structural target satisfaction
measurement artifact != model success
Observer-Decider validation failure != runtime failure
third-echo contamination in model output != framework-generated Echo C
Observer-Decider route != generated third echo
Current local model:
google/flan-t5-base
Current measured result:
both_echoes_visible_count = 30
unresolved_tension_visible_count = 0
no_resolution_visible_count = 0
third_echo_true_contamination_count = 3
overall_score_mean = 0.58
observer_decider_validation_passed = False
observer_decider_failed_checks = ['third_echo_contamination_zero']
third_position_is_echo = False
move_to_generative_third_echo = False
framework_generated_echo_c = False
Files:
examples/run_dual_echo_hard_prompts_v6_external_local.pyexamples/dual_echo_hard_prompts_v6_external_outputs.jsonlexamples/dual_echo_hard_prompts_v6_external_report.jsonexamples/dual_echo_hard_prompts_v6_external_analysis.jsonexamples/dual_echo_hard_prompts_v6_external_scores.jsonDUAL_ECHO_HARD_PROMPTS_V6_EXTERNAL_LOCAL_RUN_RESULTS.mdexamples/dual_echo_observer_gate_v1_v6_external_decisions.jsonexamples/dual_echo_observer_gate_v1_v6_external_validation.jsonDUAL_ECHO_OBSERVER_GATE_V1_V6_EXTERNAL_RESULTS.mdexamples/dual_echo_hard_prompts_v6_external_audit.jsonDUAL_ECHO_HARD_PROMPTS_V6_EXTERNAL_AUDIT_RESULTS.md
Boundary:
A model may fail the V6 structural contract while the measurement pipeline still passes.
The Observer-Decider may also fail a validation check, such as third_echo_contamination_zero, while still producing routing artifacts.
Those failures are recorded as measurements, not treated as runtime failures.
The third position remains external.
No generated Echo C is introduced by the framework.