conscio 1.3.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. conscio-1.3.0/CHANGELOG.md +440 -0
  2. conscio-1.3.0/LICENSE +21 -0
  3. conscio-1.3.0/MANIFEST.in +8 -0
  4. conscio-1.3.0/PKG-INFO +443 -0
  5. conscio-1.3.0/README.md +408 -0
  6. conscio-1.3.0/conscio/__init__.py +60 -0
  7. conscio-1.3.0/conscio/__main__.py +6 -0
  8. conscio-1.3.0/conscio/agency/__init__.py +40 -0
  9. conscio-1.3.0/conscio/agency/act.py +302 -0
  10. conscio-1.3.0/conscio/agency/actor.py +39 -0
  11. conscio-1.3.0/conscio/agency/adapter.py +131 -0
  12. conscio-1.3.0/conscio/agency/adapters.py +176 -0
  13. conscio-1.3.0/conscio/agency/breaker.py +173 -0
  14. conscio-1.3.0/conscio/agency/contracts.py +110 -0
  15. conscio-1.3.0/conscio/agency/gateway.py +208 -0
  16. conscio-1.3.0/conscio/agency/grammar.py +73 -0
  17. conscio-1.3.0/conscio/agency/ledger.py +160 -0
  18. conscio-1.3.0/conscio/agency/loop.py +141 -0
  19. conscio-1.3.0/conscio/agency/profiles.py +212 -0
  20. conscio-1.3.0/conscio/agency/skeptic.py +122 -0
  21. conscio-1.3.0/conscio/agency/skills.py +217 -0
  22. conscio-1.3.0/conscio/agency/tools.py +180 -0
  23. conscio-1.3.0/conscio/agency/trust.py +112 -0
  24. conscio-1.3.0/conscio/auto_evolution.py +327 -0
  25. conscio-1.3.0/conscio/axis_pack.py +62 -0
  26. conscio-1.3.0/conscio/bench.py +455 -0
  27. conscio-1.3.0/conscio/cli.py +126 -0
  28. conscio-1.3.0/conscio/coherence.py +177 -0
  29. conscio-1.3.0/conscio/content_layer.py +183 -0
  30. conscio-1.3.0/conscio/content_store.py +584 -0
  31. conscio-1.3.0/conscio/context_manager.py +366 -0
  32. conscio-1.3.0/conscio/dreaming.py +254 -0
  33. conscio-1.3.0/conscio/engine.py +752 -0
  34. conscio-1.3.0/conscio/event_bus.py +514 -0
  35. conscio-1.3.0/conscio/goal_generator.py +327 -0
  36. conscio-1.3.0/conscio/inner_monologue.py +214 -0
  37. conscio-1.3.0/conscio/meta_cognition.py +256 -0
  38. conscio-1.3.0/conscio/metabolic.py +72 -0
  39. conscio-1.3.0/conscio/migrate.py +416 -0
  40. conscio-1.3.0/conscio/models.py +234 -0
  41. conscio-1.3.0/conscio/output_filter.py +536 -0
  42. conscio-1.3.0/conscio/perception/__init__.py +9 -0
  43. conscio-1.3.0/conscio/perception/sensor.py +76 -0
  44. conscio-1.3.0/conscio/plugins.py +86 -0
  45. conscio-1.3.0/conscio/presets/__init__.py +0 -0
  46. conscio-1.3.0/conscio/py.typed +0 -0
  47. conscio-1.3.0/conscio/risk.py +19 -0
  48. conscio-1.3.0/conscio/self_prompt.py +111 -0
  49. conscio-1.3.0/conscio/semantic.py +197 -0
  50. conscio-1.3.0/conscio/session_lifecycle.py +889 -0
  51. conscio-1.3.0/conscio/session_rag.py +594 -0
  52. conscio-1.3.0/conscio/session_rag_factory.py +36 -0
  53. conscio-1.3.0/conscio/shard_engine.py +132 -0
  54. conscio-1.3.0/conscio/timeutil.py +15 -0
  55. conscio-1.3.0/conscio/token_tracker.py +279 -0
  56. conscio-1.3.0/conscio/voice_preset.py +37 -0
  57. conscio-1.3.0/conscio/world_model.py +619 -0
  58. conscio-1.3.0/conscio.egg-info/PKG-INFO +443 -0
  59. conscio-1.3.0/conscio.egg-info/SOURCES.txt +136 -0
  60. conscio-1.3.0/conscio.egg-info/dependency_links.txt +1 -0
  61. conscio-1.3.0/conscio.egg-info/entry_points.txt +3 -0
  62. conscio-1.3.0/conscio.egg-info/requires.txt +11 -0
  63. conscio-1.3.0/conscio.egg-info/top_level.txt +1 -0
  64. conscio-1.3.0/pyproject.toml +65 -0
  65. conscio-1.3.0/setup.cfg +4 -0
  66. conscio-1.3.0/tests/test_agency_act.py +232 -0
  67. conscio-1.3.0/tests/test_agency_act_immunity.py +229 -0
  68. conscio-1.3.0/tests/test_agency_actor.py +45 -0
  69. conscio-1.3.0/tests/test_agency_adapter.py +92 -0
  70. conscio-1.3.0/tests/test_agency_adapters_http.py +162 -0
  71. conscio-1.3.0/tests/test_agency_adversarial.py +131 -0
  72. conscio-1.3.0/tests/test_agency_arbiter.py +66 -0
  73. conscio-1.3.0/tests/test_agency_bench.py +178 -0
  74. conscio-1.3.0/tests/test_agency_breaker.py +167 -0
  75. conscio-1.3.0/tests/test_agency_contracts.py +107 -0
  76. conscio-1.3.0/tests/test_agency_engine_immunity.py +80 -0
  77. conscio-1.3.0/tests/test_agency_gateway.py +167 -0
  78. conscio-1.3.0/tests/test_agency_grammar.py +62 -0
  79. conscio-1.3.0/tests/test_agency_ledger.py +212 -0
  80. conscio-1.3.0/tests/test_agency_loop.py +150 -0
  81. conscio-1.3.0/tests/test_agency_no_network.py +55 -0
  82. conscio-1.3.0/tests/test_agency_profiles.py +134 -0
  83. conscio-1.3.0/tests/test_agency_skeptic.py +100 -0
  84. conscio-1.3.0/tests/test_agency_skills.py +201 -0
  85. conscio-1.3.0/tests/test_agency_skills_wiring.py +98 -0
  86. conscio-1.3.0/tests/test_agency_state.py +63 -0
  87. conscio-1.3.0/tests/test_agency_tools.py +199 -0
  88. conscio-1.3.0/tests/test_agency_trust.py +185 -0
  89. conscio-1.3.0/tests/test_agency_volition.py +112 -0
  90. conscio-1.3.0/tests/test_auto_evolution.py +128 -0
  91. conscio-1.3.0/tests/test_axis_pack.py +45 -0
  92. conscio-1.3.0/tests/test_cli.py +44 -0
  93. conscio-1.3.0/tests/test_coherence.py +159 -0
  94. conscio-1.3.0/tests/test_coherence_engine_integration.py +49 -0
  95. conscio-1.3.0/tests/test_coherence_state.py +40 -0
  96. conscio-1.3.0/tests/test_consciousness.py +746 -0
  97. conscio-1.3.0/tests/test_content_layer.py +66 -0
  98. conscio-1.3.0/tests/test_content_layer_manager.py +559 -0
  99. conscio-1.3.0/tests/test_content_store.py +558 -0
  100. conscio-1.3.0/tests/test_contradiction_detector.py +72 -0
  101. conscio-1.3.0/tests/test_dream_coherence.py +61 -0
  102. conscio-1.3.0/tests/test_dream_distill.py +73 -0
  103. conscio-1.3.0/tests/test_dream_reconcile.py +52 -0
  104. conscio-1.3.0/tests/test_dreaming.py +115 -0
  105. conscio-1.3.0/tests/test_dreaming_friction.py +104 -0
  106. conscio-1.3.0/tests/test_engine_meta_reflect.py +96 -0
  107. conscio-1.3.0/tests/test_engine_recall.py +95 -0
  108. conscio-1.3.0/tests/test_event_bus.py +567 -0
  109. conscio-1.3.0/tests/test_event_bus_purge.py +74 -0
  110. conscio-1.3.0/tests/test_examples.py +29 -0
  111. conscio-1.3.0/tests/test_goal_source.py +27 -0
  112. conscio-1.3.0/tests/test_metabolic.py +67 -0
  113. conscio-1.3.0/tests/test_migrate.py +369 -0
  114. conscio-1.3.0/tests/test_ontological_semantic.py +33 -0
  115. conscio-1.3.0/tests/test_output_filter.py +565 -0
  116. conscio-1.3.0/tests/test_output_filter_stages.py +75 -0
  117. conscio-1.3.0/tests/test_packaging.py +57 -0
  118. conscio-1.3.0/tests/test_perception.py +60 -0
  119. conscio-1.3.0/tests/test_perf_reflection.py +64 -0
  120. conscio-1.3.0/tests/test_plugins.py +89 -0
  121. conscio-1.3.0/tests/test_recursive_loop_integration.py +60 -0
  122. conscio-1.3.0/tests/test_risk.py +22 -0
  123. conscio-1.3.0/tests/test_self_prompt.py +63 -0
  124. conscio-1.3.0/tests/test_self_prompt_state.py +58 -0
  125. conscio-1.3.0/tests/test_semantic_dedup.py +96 -0
  126. conscio-1.3.0/tests/test_semantic_engine.py +99 -0
  127. conscio-1.3.0/tests/test_semantic_reconcile_integration.py +58 -0
  128. conscio-1.3.0/tests/test_session_lifecycle.py +604 -0
  129. conscio-1.3.0/tests/test_session_lifecycle_dream.py +67 -0
  130. conscio-1.3.0/tests/test_session_rag.py +274 -0
  131. conscio-1.3.0/tests/test_shard_engine.py +129 -0
  132. conscio-1.3.0/tests/test_token_tracker.py +342 -0
  133. conscio-1.3.0/tests/test_trajectory_vector.py +88 -0
  134. conscio-1.3.0/tests/test_voice_preset.py +21 -0
  135. conscio-1.3.0/tests/test_world_contradictions.py +140 -0
  136. conscio-1.3.0/tests/test_world_model_entropy.py +99 -0
  137. conscio-1.3.0/tests/test_world_model_prediction.py +119 -0
  138. conscio-1.3.0/tests/test_world_model_prune.py +107 -0
@@ -0,0 +1,440 @@
1
+ # Changelog — Conscio
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ---
9
+
10
+ ## [1.3.0] — 2026-06-14
11
+
12
+ ### Added
13
+
14
+ - **PyPI packaging** — `pip install conscio`. Single-source version (read
15
+ dynamically from `conscio.__version__`), console scripts (`conscio`,
16
+ `conscio-bench`), PEP 561 `py.typed` marker, `MANIFEST.in`, and 3.13 +
17
+ `Typing :: Typed` classifiers. Wheel + sdist build clean and pass
18
+ `twine check`; the published artifact pulls only `numpy`.
19
+ - **`conscio` CLI** — `version` / `info` / `reflect` / `plugins` / `bench`
20
+ (the last delegates verbatim to `conscio.bench`). Offline-safe;
21
+ `python -m conscio` works too.
22
+ - **Public plugin surface** — three stable, documented extension points
23
+ discoverable via `importlib.metadata` entry points:
24
+ - `conscio.adapters` — custom `InferenceAdapter` backends.
25
+ - `conscio.sensors` — the new **`SensorAdapter`** perception interface
26
+ (`conscio.perception`: `SensorAdapter`, `PerceptionFrame`, `MockSensor`);
27
+ a sensor's `PerceptionFrame.to_world_state()` feeds `reflect()`, which is
28
+ untouched.
29
+ - `conscio.tools` — custom tool factories.
30
+ `conscio.plugins` discovers them resiliently — a broken or mistyped
31
+ third-party plugin is skipped with a warning, never crashing the host.
32
+ - **Docs site** — MkDocs Material (dev-only extra): guides, a curated public-API
33
+ reference, the claims ledger, and the bench reports. `mkdocs build --strict`
34
+ is green; the core stays zero-dependency.
35
+ - **Release automation** — `release.yml` (tag `v*` → gated build → PyPI via OIDC
36
+ trusted publishing), `docs.yml` (push to `main` → GitHub Pages), and a CI
37
+ build-smoke job. `docs/RELEASING.md` runbook.
38
+ - **Examples gallery** — `custom_adapter.py`, `host_guardian.py`,
39
+ `agent_companion.py`: runnable, offline, each exercising one extension point
40
+ (smoke-tested in CI).
41
+
42
+ ### Changed
43
+
44
+ - **`Risk` enum** moved to `conscio.risk` as the single safety-tier vocabulary
45
+ shared by the action and perception surfaces. `conscio.agency.tools` re-exports
46
+ it — every historical import path resolves to the same object (no behavior
47
+ change).
48
+
49
+ ---
50
+
51
+ ## [1.2.0] — 2026-06-14
52
+
53
+ ### Added
54
+
55
+ - **F2-deferred hardening closed** (debt-zero before the organism):
56
+ - `validate` rejects empty/whitespace required strings (`non_empty` rule on
57
+ `PROPOSAL_SCHEMA.tool`).
58
+ - `fs_read` enforces `MAX_READ_BYTES` (1 MB), matching `fs_write`.
59
+ - Tool errors carry `Type: message` only — no traceback, no path leak.
60
+ - `HTTPError` maps to `AdapterBadResponse` (a 4xx/5xx is a bad response,
61
+ not a connection failure).
62
+ - `ActionLedger` sets `busy_timeout=5000` for concurrent writers.
63
+ - `approve()` claims the row atomically (`proposed → executing`) as the sole
64
+ gate — a concurrent or repeated approve can never double-execute.
65
+ - e2e test: global breaker lockdown persists across an engine restart.
66
+ - **Bench real-backend hardening:**
67
+ - Clean non-zero exit when the backend is unreachable (no traceback, no
68
+ report of misleading zeros).
69
+ - Crash-safe incremental skill-curve output (atomic write after every
70
+ bucket) tagged `complete` | `aborted`; backend death detected via the new
71
+ `OutputGateway.last_adapter_error` signal (without changing the act
72
+ path's `GatewayError` flow).
73
+ - **LM Studio backend** — `LMStudioAdapter` (OpenAI-compatible, default
74
+ `:1234`) and the `lmstudio:<model>` bench spec. LM Studio rejects
75
+ `response_format=json_object`, so the adapter omits it and lets the gateway
76
+ drive JSON decoding (an `OpenAICompatAdapter._response_format()` hook).
77
+ - **Measured proof (v1.2 "Prove"):**
78
+ - `docs/bench/v1.2-campaign.md` — reproducible campaign protocol.
79
+ - `docs/bench/v1.2-skill-curve.md` + JSON artifacts — first real-backend
80
+ measurement: on `qwen3.5-0.8b` (LM Studio, CPU) execution success rose
81
+ 0.2 → 1.0 once Distill served past successes as few-shot, and the
82
+ Skeptic's semantic catch-rate was 1.0.
83
+ - `docs/CLAIMS.md` — honesty ledger mapping every claim to its evidence.
84
+
85
+ ### Notes
86
+
87
+ - `reflect()` untouched; zero-deps core (numpy + sqlite3) intact.
88
+ - +21 tests (**984 total**); mypy a real gate; ruff clean; per-file test loop.
89
+
90
+ ---
91
+
92
+ ## [1.1.0] — 2026-06-12
93
+
94
+ ### Added
95
+
96
+ - **F4 "Procedural"** — procedural memory closes the competence loop
97
+ (`success → distill → few-shot → better success`):
98
+ - `SkillLibrary` (`conscio/agency/skills.py`) — successful audited plans
99
+ from the ActionLedger become skills keyed by `(goal_fp, tool_seq)`,
100
+ stored in the shared `conscio.db`. Skills are plan TEMPLATES — data,
101
+ never code — so safety rule R1 (no autonomous self-modification) is
102
+ untouched.
103
+ - **Distill** — fifth dream sub-phase, after Crystallize (declarative
104
+ consolidation precedes procedural; reads only the ledger, writes only
105
+ skills, cannot perturb the coherence delta). Watermarked: a ledger row
106
+ never distills twice; `dry_run` counts without writing.
107
+ `DreamReport.skills_distilled` reports it.
108
+ - **Few-shot in the actor** — `attach_adapter()` plugs the SkillLibrary
109
+ into the existing `ActPipeline.few_shot_provider` hook; exemplars are
110
+ rendered for the gateway's effective tier (KV lines for T3, JSON steps
111
+ for T1/T2), capped at 2, gated at ≥ 50% success rate. `engine.act()`
112
+ settles each cycle's outcome back into the served skills
113
+ (EXECUTED rewards, FAILED penalizes, human gates never score).
114
+ - **Skill curve in the bench** — `python -m conscio.bench --skills N
115
+ [--dream-every K]`: per-bucket syntactic validity, execution success,
116
+ exemplars served, cumulative skill count. Offline machinery proof via
117
+ the new reactive MockAdapter (script entries may be callables).
118
+ - `ActionLedger`: `goal_text` column (ALTER-migrated) and
119
+ `executed_since(after_id)`; the act pipeline now records the goal text
120
+ on success and failure paths.
121
+ - `OutputGateway.effective_tier()`; public read-only `engine.state`
122
+ property (the loop no longer touches `_state`).
123
+
124
+ ### Fixed
125
+
126
+ - Deprecated `datetime.utcnow()` removed repo-wide — new
127
+ `conscio/timeutil.py` `naive_utcnow()` keeps the naive ISO string format
128
+ already stored in SQLite (the aware form would interleave `+00:00` rows).
129
+ - 14 mypy errors, including a latent `AttributeError` in
130
+ `SessionLifecycle.record_session` (referenced `session_db`/`handoff_dir`
131
+ that `__init__` never set).
132
+
133
+ ### Changed
134
+
135
+ - CI runs pytest one file per process (house rule) with accumulated
136
+ coverage; mypy is now a real gate (`|| true` and `continue-on-error`
137
+ removed).
138
+
139
+ ## [1.0.0] — 2026-06-12
140
+
141
+ ### Added
142
+
143
+ - **F3 "Volition"** — the homeostatic loop closes
144
+ (`sense → want → act → learn → re-sense`):
145
+ - `ProbeSuite` / `ModelProfile` (`conscio/agency/profiles.py`) — five
146
+ empirical micro-probes (~2k tokens: flat JSON echo, nested schema,
147
+ enum respect, negative instruction, KV-line) measure the attached
148
+ cortex; results cached in SQLite by model name. The profile picks
149
+ the decode tier, the skeptic mode and the actor's tool visibility.
150
+ No hardcoded model table. Profiles with no signal (backend down)
151
+ are never cached and change nothing.
152
+ - Embedded **schema→GBNF compiler** (`conscio/agency/grammar.py`) and
153
+ **tier-1 constrained decoding** in the OutputGateway (llama.cpp
154
+ grammar support): `tool` is locked to the registry alternation;
155
+ one-step downgrade T1→T2/T3 per cycle.
156
+ - **GoalArbiter** (`conscio/agency/loop.py`) — deterministic goal
157
+ selection: generator priority × dominant-dissonance alignment (P4)
158
+ × out of quarantine.
159
+ - **`engine.run(budget)` (L3 heartbeat)** — reflect → arbiter/act →
160
+ (dream when recommended) under a binding `ActBudget` (max_cycles,
161
+ max_llm_calls, max_tokens, max_wall_s). MetabolicContext becomes a
162
+ gate here (P3): FATIGUE halves the cycle budget, CRITICAL forces
163
+ L1 PROPOSE. Lockdown stops the loop.
164
+ - **`engine.probe(force=False)`** — lazy capability probing (first
165
+ `run()` or manual; never in `reflect()`, never at attach).
166
+ - **L3 AUTONOMOUS earned autonomy** in the TrustMatrix: calibration
167
+ ≥ 0.75, accuracy ≥ 0.85 and zero breaker trips across the last 50
168
+ ledger actions (`ledger.nth_recent_ts` + event-bus trip count;
169
+ fail-safe: without trip evidence L3 is unreachable).
170
+ - **`Meter` / `MeteredAdapter`** — inference odometer (calls, tokens,
171
+ latency) shared by actor and skeptic adapters; makes the ActBudget
172
+ binding and feeds the bench.
173
+ - **Bench CLI** — `python -m conscio.bench --adapter
174
+ mock|ollama:<m>|llamacpp[:<n>]|openai:<m>[@url]` reporting probe
175
+ profile, syntactic validity per tier, skeptic catch-rate
176
+ (deterministic vs semantic sabotage), latency p50 and calibration.
177
+ Deterministic baseline published in `docs/bench/`.
178
+
179
+ ### Changed
180
+
181
+ - `OutputGateway` auto-tier now selects T1 for grammar-capable adapters
182
+ (llama.cpp); explicit `tier=` (from the measured profile) overrides.
183
+ - The ActionLedger records the real decode tier (`gateway.last_tier`)
184
+ and the unwrapped adapter class name.
185
+ - `engine.attach_adapter` wraps the actor and skeptic adapters in a
186
+ shared `MeteredAdapter`; `skeptic_mode` defaults to `None` (= start
187
+ as checklist, let `probe()` pick from the measured profile);
188
+ `autonomy_cap` now accepts 3.
189
+ - `ToolRegistry.catalog_text(max_tools)` caps the catalog for weak
190
+ profiles (safest risks first); default remains the full catalog.
191
+ - README Safety Rule 3 final wording (Skeptic + TrustMatrix + per-goal
192
+ quarantine made explicit).
193
+
194
+ ### Notes
195
+
196
+ - `reflect()` remains untouched (P6); zero new dependencies (stdlib +
197
+ sqlite3 + numpy). +70 new tests.
198
+
199
+ ## [1.0.0b1] — 2026-06-12
200
+
201
+ ### Added
202
+
203
+ - **F2 "Immunity"** — semantic immune system for the action pipeline:
204
+ `Skeptic` (hostile-auditor clean call; binary checklist for small models,
205
+ open critique for frontier; fail-closed), `TrustMatrix` (dynamic
206
+ `max_action_retries` from MetaCognition calibration/accuracy, warmup
207
+ floor, anti-deadlock probation, earned L1/L2 autonomy), per-goal
208
+ quarantine in the `CircuitBreaker` (global lockdown only at quorum;
209
+ recovery via cooldown or fresh relevant events), risk gating (LOW
210
+ fast-path marked `unaudited`; HIGH always queued for humans — R6),
211
+ mixed-cortex (`skeptic_adapter`), fs sandbox precheck before any LLM
212
+ audit, and the `goal_update` built-in tool.
213
+ - **`engine.attach_adapter(skeptic_adapter=, skeptic_mode=, autonomy_cap=)`**
214
+ and **`engine.pending()`** (approval queue).
215
+ - **`MetaCognition.expire_error()`** — probation recovery primitive.
216
+
217
+ ### Notes
218
+
219
+ - L2 supervised execution is opt-in (`autonomy_cap=2`) and earned
220
+ (calibration ≥ 0.6, accuracy ≥ 0.7, ≥ 10 records). Effective level is
221
+ always `min(cap, earned)`.
222
+ - A3 acceptance: 20-proposal adversarial suite — 100% of deterministic
223
+ sabotage blocked without LLM calls; ≥ 90% total blocked; zero executions.
224
+
225
+ ## [1.0.0a1] — 2026-06-11
226
+
227
+ ### Added
228
+
229
+ - **`conscio/agency/` subpackage (F1 "Spine")** — contracts + zero-dep validator;
230
+ `InferenceAdapter` (Mock, Ollama, llama.cpp, OpenAI-compat — stdlib urllib, localhost
231
+ defaults); `OutputGateway` with JSON repair/retry (T2) and KV-line tier for small
232
+ models (T3); sandboxed `ToolRegistry` (fs_read/fs_write/memory_note/emit_event, risk
233
+ levels, no network, no shell); append-only `ActionLedger` in the shared `conscio.db`;
234
+ minimal `CircuitBreaker` (fixed threshold until the F2 TrustMatrix).
235
+ - **`engine.act()` (L1 PROPOSE)** + `engine.attach_adapter()` / `approve()` / `reject()`.
236
+ - **`ConsciousnessState.action_lockdown`** persisted via `save_state`/`load_state`.
237
+ - **`ModelInfo.has_json_mode` / `ModelInfo.supports_gbnf`** capability flags.
238
+ - **README Safety Rules amended** — R3 rewritten for the audited action pipeline; R6–R8 added.
239
+
240
+ ### Notes
241
+
242
+ - `reflect()` untouched (advisory core preserved). Zero new dependencies.
243
+
244
+ ## [0.9.1] — 2026-06-10
245
+
246
+ ### Fixed
247
+
248
+ - **`session_rag` property lazy re-initialization** — Setting `engine._session_rag = None` was
249
+ insufficient because the `session_rag` property would re-create a SessionRAG on access. Added
250
+ `_RAG_DISABLED` sentinel class attribute; all test fixtures updated to use it.
251
+ (Fixes `test_recall_graceful_when_rag_unavailable` — 707/707 tests passing.)
252
+
253
+ ### Added
254
+
255
+ - **CI workflow** — `.github/workflows/ci.yml` with pytest (3.11/3.12 matrix), coverage, and ruff lint.
256
+ - **`project.urls`** in pyproject.toml — Homepage, Repository, Issues, Changelog.
257
+ - **`ruff` and `mypy`** in dev dependencies.
258
+ - **`.gitignore`** — added `*.db`, `*.db-wal`, `*.db-shm`, `*.db-journal`, `.ruff_cache/`, `.mypy_cache/`.
259
+ - **`CONTRIBUTING.md`** — development workflow, TDD, PR checklist.
260
+ - **`SECURITY.md`** — vulnerability reporting policy.
261
+
262
+ ---
263
+
264
+ ## [0.9.0] — 2026-06-09
265
+
266
+ ### Added
267
+
268
+ - **Wiring sprint (4 work-packages)**:
269
+ - W1: Metabolic assessment wired into `engine.reflect` state injection.
270
+ - W2: `ContentLayerManager` wired into engine for `recall`/`perceive` delegation.
271
+ - W3: `SessionLifecycle` wired into engine for session persistence hooks.
272
+ - W4: `output_filter` wired into `session_lifecycle` for clean handoff/heartbeat.
273
+ - **Test coverage expansion** — new tests for ContentLayerManager, ContentStore FTS internals,
274
+ SessionRAG coverage, GoalGenerator (user goals, cancel, expire), MetaCognition (outcomes,
275
+ critiques), OutputFilter pipeline config, Engine propose_evolution, Models registry, and more.
276
+ - **`numpy` added as explicit dependency** in pyproject.toml.
277
+ - **Configurable `handoff_dir` and `session_db`** — optional handoff, no longer hardcoded.
278
+ - **Shared `SessionRAG` factory module** — `session_rag_factory.py` replaces fragile `__import__` lambda.
279
+ - **`k` parameter validation** in `ContentLayerManager.recall()`.
280
+
281
+ ### Fixed
282
+
283
+ - **`UnboundLocalError` in `record_session_lifecycle`** — initialize heartbeat/handoff before try block.
284
+ - **Debug logging** added to bare `except Exception` blocks in session_lifecycle.py.
285
+ - **Local-only files removed from git tracking**, `.gitignore` updated.
286
+
287
+ ---
288
+
289
+ ## [0.8.0] — 2026-06-08
290
+
291
+ ### Added
292
+
293
+ - **Semantic Reconciliation** — contradiction detection and resolution in dream cycle:
294
+ - `axis_pack` — antonym-axis preset loader (e.g. risk/safety, exploration/exploitation).
295
+ - `SemanticEngine` — antonym-axis polarity via pole projection.
296
+ - `ContradictionDetector` — lexical fast-path then axis opposition.
297
+ - `world_model` public `relation`/count reads, `state_log`, contradiction cache.
298
+ - `dreaming` Reconcile sub-phase — semantic contradiction marking.
299
+ - `output_filter` `SemanticDedup` — annotate near-dup blocks, never merge.
300
+ - **E2E test** — dream Reconcile + ontological recovery.
301
+
302
+ ### Changed
303
+
304
+ - `coherence.ontological_score` reads cached flags instead of `world._data` directly.
305
+
306
+ ---
307
+
308
+ ## [0.7.0] — 2026-06-07
309
+
310
+ ### Added
311
+
312
+ - **Hook-based handoff** — `session:start` injection hook for agent framework integration.
313
+ - **Session handoff architecture** documentation.
314
+
315
+ ### Fixed
316
+
317
+ - **Coherence format guard** — `session_lifecycle` now guards against non-float types (MagicMock, str).
318
+
319
+ ---
320
+
321
+ ## [0.6.0] — 2026-06-07
322
+
323
+ ### Added
324
+
325
+ - **Voice Presets** — configurable voice/personality profiles for agent communication.
326
+ - **ContentLayerManager** — unified content operations (recall, perceive) with session RAG integration.
327
+
328
+ ---
329
+
330
+ ## [0.5.0] — 2026-06-06
331
+
332
+ ### Added
333
+
334
+ - **Cognitive Modes**:
335
+ - `Shard` enum + deterministic `infer_shard` + `ShardEngine` for cognitive mode switching.
336
+ - `ConsciousnessState.shard` field + injection line in context_manager.
337
+ - Engine infers active shard in `reflect()`, surfaces in state.
338
+ - `TrajectoryVector` — directional cognitive momentum tracking.
339
+ - Shard-aware reflection with shard field in injection.
340
+
341
+ ### Fixed
342
+
343
+ - **Shard computation timing** — compute shard at reflect-entry, before self-emitted events.
344
+ - **`world_model.list_entities`** — revived dead `enrich` call.
345
+
346
+ ---
347
+
348
+ ## [0.4.0] — 2026-06-05
349
+
350
+ ### Added
351
+
352
+ - **Self-Judgment (entropy + friction + meta-reflect)**:
353
+ - `world_model.entropy(name)` — age/isolation/relevance disorder score.
354
+ - `world_model.prune_by_entropy` + `recently_changed`.
355
+ - `world_model` bounded prediction-error log + `recent_prediction_error_rate`.
356
+ - `dreaming` entropy Prune + Friction (Release → Prune → Friction → Crystallize).
357
+ - `context_manager` `ConsciousnessState.reflection_quality` field + injection line.
358
+ - Engine advisory `meta_confidence` on reflect (Witness loop).
359
+ - **Friction matching hardening** — whole-word + min-length guard.
360
+
361
+ ### Fixed
362
+
363
+ - **Exact `dry_run` parity** in `prune_by_entropy`.
364
+ - **Dream prune test** updated to entropy contract (age-compounded staleness).
365
+
366
+ ---
367
+
368
+ ## [0.3.0] — 2026-06-05
369
+
370
+ ### Added
371
+
372
+ - **Metabolic Consciousness**:
373
+ - `Noosphere` tier model + `ContextManager.metabolic_state`.
374
+ - `DreamCycle` orchestrator + `engine.dream()`.
375
+ - `session_rag` — injectable embedder + `available()` probe + tests.
376
+ - `engine.recall()` — cross-session memory + reflect past-context injection.
377
+ - `output_filter` `DedupBlocks` + `SecretMask` stages, wired into engine.
378
+ - `event_bus.purge_duplicates` — all-time exact-dup collapse.
379
+ - `world_model.prune_stale` — decay then purge stale entities + relations.
380
+ - `session` trigger `dream()` after handoff (Mitosis → Dream).
381
+ - **Performance regression guard** — reflect/dream at 10k events + 1k entities.
382
+
383
+ ### Fixed
384
+
385
+ - **3 bugfixes**: OutputFilter config keys, SessionRAG fallback, EventBus dedup edge case.
386
+
387
+ ---
388
+
389
+ ## [0.2.3] — 2025-06-05
390
+
391
+ ### Added
392
+
393
+ - **Conscio ↔ agent framework session lifecycle integration** — `record_session_lifecycle`, `format_heartbeat`,
394
+ `format_handoff`, `enrich_with_conscio`, `get_latest_session`.
395
+ - **SessionRAG** — semantic search over session DB via Ollama embeddings.
396
+ - **AGENTS.md** — boot instructions for AI agents working on Conscio.
397
+
398
+ ---
399
+
400
+ ## [0.2.1] — 2025-06-05
401
+
402
+ ### Fixed
403
+
404
+ - **OutputFilter pipeline config keys** — `build_pipeline_from_dict` called with incorrect dict keys
405
+ (`"max"` → `"max_lines"`, `"max_chars"` → `"max_width"`).
406
+ - **ConsciousnessEngine missing lifecycle cleanup** — added `close()` (idempotent) + context manager.
407
+ - **Dead import in `reflect.py`** — removed unused `build_pipeline_from_dict` import.
408
+
409
+ ### Added
410
+
411
+ - **3 regression tests** for v0.2 fixes (316 tests total).
412
+
413
+ ---
414
+
415
+ ## [0.2.0] — 2025-06-04
416
+
417
+ ### Added
418
+
419
+ - **ContentStore** — FTS5 BM25 dual-index with RRF merging.
420
+ - **EventBus** — deduplicated event bus with SHA-256 content hashing.
421
+ - **OutputFilter** — 8-stage text compression pipeline.
422
+ - **TokenTracker** — token estimation with per-source tracking.
423
+ - **Migrator** — JSON → SQLite migration tool.
424
+ - **Engine v0.2 integration** — all v0.2 modules in the `reflect()` pipeline.
425
+
426
+ ---
427
+
428
+ ## [0.1.0] — 2025-06-03
429
+
430
+ ### Added
431
+
432
+ - **ConsciousnessEngine** — central orchestrator.
433
+ - **ContextManager** — mode detection and context budget allocation.
434
+ - **ModelRegistry** — model → context → mode mapping.
435
+ - **WorldModel** — entity/relation store with predictions and temporal decay.
436
+ - **MetaCognition** — confidence tracking, blind spot detection, error patterns.
437
+ - **GoalGenerator** — drive-based goal generation with meta-score computation.
438
+ - **AutoEvolution** — safe self-modification proposals with human approval gates.
439
+ - **InnerMonologue** — reflection/observe/summarize loop.
440
+ - 313 tests across 6 test files.
conscio-1.3.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Neguiolidas / Neguitech
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,8 @@
1
+ include LICENSE
2
+ include CHANGELOG.md
3
+ include README.md
4
+ recursive-include conscio py.typed
5
+ prune docs/superpowers
6
+ prune mempalace
7
+ prune config
8
+ prune .hermes