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.
- conscio-1.3.0/CHANGELOG.md +440 -0
- conscio-1.3.0/LICENSE +21 -0
- conscio-1.3.0/MANIFEST.in +8 -0
- conscio-1.3.0/PKG-INFO +443 -0
- conscio-1.3.0/README.md +408 -0
- conscio-1.3.0/conscio/__init__.py +60 -0
- conscio-1.3.0/conscio/__main__.py +6 -0
- conscio-1.3.0/conscio/agency/__init__.py +40 -0
- conscio-1.3.0/conscio/agency/act.py +302 -0
- conscio-1.3.0/conscio/agency/actor.py +39 -0
- conscio-1.3.0/conscio/agency/adapter.py +131 -0
- conscio-1.3.0/conscio/agency/adapters.py +176 -0
- conscio-1.3.0/conscio/agency/breaker.py +173 -0
- conscio-1.3.0/conscio/agency/contracts.py +110 -0
- conscio-1.3.0/conscio/agency/gateway.py +208 -0
- conscio-1.3.0/conscio/agency/grammar.py +73 -0
- conscio-1.3.0/conscio/agency/ledger.py +160 -0
- conscio-1.3.0/conscio/agency/loop.py +141 -0
- conscio-1.3.0/conscio/agency/profiles.py +212 -0
- conscio-1.3.0/conscio/agency/skeptic.py +122 -0
- conscio-1.3.0/conscio/agency/skills.py +217 -0
- conscio-1.3.0/conscio/agency/tools.py +180 -0
- conscio-1.3.0/conscio/agency/trust.py +112 -0
- conscio-1.3.0/conscio/auto_evolution.py +327 -0
- conscio-1.3.0/conscio/axis_pack.py +62 -0
- conscio-1.3.0/conscio/bench.py +455 -0
- conscio-1.3.0/conscio/cli.py +126 -0
- conscio-1.3.0/conscio/coherence.py +177 -0
- conscio-1.3.0/conscio/content_layer.py +183 -0
- conscio-1.3.0/conscio/content_store.py +584 -0
- conscio-1.3.0/conscio/context_manager.py +366 -0
- conscio-1.3.0/conscio/dreaming.py +254 -0
- conscio-1.3.0/conscio/engine.py +752 -0
- conscio-1.3.0/conscio/event_bus.py +514 -0
- conscio-1.3.0/conscio/goal_generator.py +327 -0
- conscio-1.3.0/conscio/inner_monologue.py +214 -0
- conscio-1.3.0/conscio/meta_cognition.py +256 -0
- conscio-1.3.0/conscio/metabolic.py +72 -0
- conscio-1.3.0/conscio/migrate.py +416 -0
- conscio-1.3.0/conscio/models.py +234 -0
- conscio-1.3.0/conscio/output_filter.py +536 -0
- conscio-1.3.0/conscio/perception/__init__.py +9 -0
- conscio-1.3.0/conscio/perception/sensor.py +76 -0
- conscio-1.3.0/conscio/plugins.py +86 -0
- conscio-1.3.0/conscio/presets/__init__.py +0 -0
- conscio-1.3.0/conscio/py.typed +0 -0
- conscio-1.3.0/conscio/risk.py +19 -0
- conscio-1.3.0/conscio/self_prompt.py +111 -0
- conscio-1.3.0/conscio/semantic.py +197 -0
- conscio-1.3.0/conscio/session_lifecycle.py +889 -0
- conscio-1.3.0/conscio/session_rag.py +594 -0
- conscio-1.3.0/conscio/session_rag_factory.py +36 -0
- conscio-1.3.0/conscio/shard_engine.py +132 -0
- conscio-1.3.0/conscio/timeutil.py +15 -0
- conscio-1.3.0/conscio/token_tracker.py +279 -0
- conscio-1.3.0/conscio/voice_preset.py +37 -0
- conscio-1.3.0/conscio/world_model.py +619 -0
- conscio-1.3.0/conscio.egg-info/PKG-INFO +443 -0
- conscio-1.3.0/conscio.egg-info/SOURCES.txt +136 -0
- conscio-1.3.0/conscio.egg-info/dependency_links.txt +1 -0
- conscio-1.3.0/conscio.egg-info/entry_points.txt +3 -0
- conscio-1.3.0/conscio.egg-info/requires.txt +11 -0
- conscio-1.3.0/conscio.egg-info/top_level.txt +1 -0
- conscio-1.3.0/pyproject.toml +65 -0
- conscio-1.3.0/setup.cfg +4 -0
- conscio-1.3.0/tests/test_agency_act.py +232 -0
- conscio-1.3.0/tests/test_agency_act_immunity.py +229 -0
- conscio-1.3.0/tests/test_agency_actor.py +45 -0
- conscio-1.3.0/tests/test_agency_adapter.py +92 -0
- conscio-1.3.0/tests/test_agency_adapters_http.py +162 -0
- conscio-1.3.0/tests/test_agency_adversarial.py +131 -0
- conscio-1.3.0/tests/test_agency_arbiter.py +66 -0
- conscio-1.3.0/tests/test_agency_bench.py +178 -0
- conscio-1.3.0/tests/test_agency_breaker.py +167 -0
- conscio-1.3.0/tests/test_agency_contracts.py +107 -0
- conscio-1.3.0/tests/test_agency_engine_immunity.py +80 -0
- conscio-1.3.0/tests/test_agency_gateway.py +167 -0
- conscio-1.3.0/tests/test_agency_grammar.py +62 -0
- conscio-1.3.0/tests/test_agency_ledger.py +212 -0
- conscio-1.3.0/tests/test_agency_loop.py +150 -0
- conscio-1.3.0/tests/test_agency_no_network.py +55 -0
- conscio-1.3.0/tests/test_agency_profiles.py +134 -0
- conscio-1.3.0/tests/test_agency_skeptic.py +100 -0
- conscio-1.3.0/tests/test_agency_skills.py +201 -0
- conscio-1.3.0/tests/test_agency_skills_wiring.py +98 -0
- conscio-1.3.0/tests/test_agency_state.py +63 -0
- conscio-1.3.0/tests/test_agency_tools.py +199 -0
- conscio-1.3.0/tests/test_agency_trust.py +185 -0
- conscio-1.3.0/tests/test_agency_volition.py +112 -0
- conscio-1.3.0/tests/test_auto_evolution.py +128 -0
- conscio-1.3.0/tests/test_axis_pack.py +45 -0
- conscio-1.3.0/tests/test_cli.py +44 -0
- conscio-1.3.0/tests/test_coherence.py +159 -0
- conscio-1.3.0/tests/test_coherence_engine_integration.py +49 -0
- conscio-1.3.0/tests/test_coherence_state.py +40 -0
- conscio-1.3.0/tests/test_consciousness.py +746 -0
- conscio-1.3.0/tests/test_content_layer.py +66 -0
- conscio-1.3.0/tests/test_content_layer_manager.py +559 -0
- conscio-1.3.0/tests/test_content_store.py +558 -0
- conscio-1.3.0/tests/test_contradiction_detector.py +72 -0
- conscio-1.3.0/tests/test_dream_coherence.py +61 -0
- conscio-1.3.0/tests/test_dream_distill.py +73 -0
- conscio-1.3.0/tests/test_dream_reconcile.py +52 -0
- conscio-1.3.0/tests/test_dreaming.py +115 -0
- conscio-1.3.0/tests/test_dreaming_friction.py +104 -0
- conscio-1.3.0/tests/test_engine_meta_reflect.py +96 -0
- conscio-1.3.0/tests/test_engine_recall.py +95 -0
- conscio-1.3.0/tests/test_event_bus.py +567 -0
- conscio-1.3.0/tests/test_event_bus_purge.py +74 -0
- conscio-1.3.0/tests/test_examples.py +29 -0
- conscio-1.3.0/tests/test_goal_source.py +27 -0
- conscio-1.3.0/tests/test_metabolic.py +67 -0
- conscio-1.3.0/tests/test_migrate.py +369 -0
- conscio-1.3.0/tests/test_ontological_semantic.py +33 -0
- conscio-1.3.0/tests/test_output_filter.py +565 -0
- conscio-1.3.0/tests/test_output_filter_stages.py +75 -0
- conscio-1.3.0/tests/test_packaging.py +57 -0
- conscio-1.3.0/tests/test_perception.py +60 -0
- conscio-1.3.0/tests/test_perf_reflection.py +64 -0
- conscio-1.3.0/tests/test_plugins.py +89 -0
- conscio-1.3.0/tests/test_recursive_loop_integration.py +60 -0
- conscio-1.3.0/tests/test_risk.py +22 -0
- conscio-1.3.0/tests/test_self_prompt.py +63 -0
- conscio-1.3.0/tests/test_self_prompt_state.py +58 -0
- conscio-1.3.0/tests/test_semantic_dedup.py +96 -0
- conscio-1.3.0/tests/test_semantic_engine.py +99 -0
- conscio-1.3.0/tests/test_semantic_reconcile_integration.py +58 -0
- conscio-1.3.0/tests/test_session_lifecycle.py +604 -0
- conscio-1.3.0/tests/test_session_lifecycle_dream.py +67 -0
- conscio-1.3.0/tests/test_session_rag.py +274 -0
- conscio-1.3.0/tests/test_shard_engine.py +129 -0
- conscio-1.3.0/tests/test_token_tracker.py +342 -0
- conscio-1.3.0/tests/test_trajectory_vector.py +88 -0
- conscio-1.3.0/tests/test_voice_preset.py +21 -0
- conscio-1.3.0/tests/test_world_contradictions.py +140 -0
- conscio-1.3.0/tests/test_world_model_entropy.py +99 -0
- conscio-1.3.0/tests/test_world_model_prediction.py +119 -0
- 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.
|