fpf-thinking-map 1.3.0__tar.gz → 1.3.1__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 (27) hide show
  1. {fpf_thinking_map-1.3.0 → fpf_thinking_map-1.3.1}/PKG-INFO +11 -5
  2. {fpf_thinking_map-1.3.0 → fpf_thinking_map-1.3.1}/README.md +10 -4
  3. {fpf_thinking_map-1.3.0 → fpf_thinking_map-1.3.1}/fpf_thinking_map.egg-info/PKG-INFO +11 -5
  4. {fpf_thinking_map-1.3.0 → fpf_thinking_map-1.3.1}/pyproject.toml +1 -1
  5. {fpf_thinking_map-1.3.0 → fpf_thinking_map-1.3.1}/LICENSE +0 -0
  6. {fpf_thinking_map-1.3.0 → fpf_thinking_map-1.3.1}/fpf_thinking_map/FPF_AUDIT_RESPONSE.md +0 -0
  7. {fpf_thinking_map-1.3.0 → fpf_thinking_map-1.3.1}/fpf_thinking_map/FPF_FLOOR_MAP.md +0 -0
  8. {fpf_thinking_map-1.3.0 → fpf_thinking_map-1.3.1}/fpf_thinking_map/FPF_SOURCE_TO_CODE_RELATION_AUDIT.md +0 -0
  9. {fpf_thinking_map-1.3.0 → fpf_thinking_map-1.3.1}/fpf_thinking_map/README.md +0 -0
  10. {fpf_thinking_map-1.3.0 → fpf_thinking_map-1.3.1}/fpf_thinking_map/REJECTED_C32_CANDIDATE_SYNTHESIS.md +0 -0
  11. {fpf_thinking_map-1.3.0 → fpf_thinking_map-1.3.1}/fpf_thinking_map/REJECTED_NQD_OEE_CULTURAL_EVOLUTION.md +0 -0
  12. {fpf_thinking_map-1.3.0 → fpf_thinking_map-1.3.1}/fpf_thinking_map/RELATED_WORK_GOFLOW_FPF_SKILL.md +0 -0
  13. {fpf_thinking_map-1.3.0 → fpf_thinking_map-1.3.1}/fpf_thinking_map/SOURCES.md +0 -0
  14. {fpf_thinking_map-1.3.0 → fpf_thinking_map-1.3.1}/fpf_thinking_map/WHY_THIS_EXISTS.md +0 -0
  15. {fpf_thinking_map-1.3.0 → fpf_thinking_map-1.3.1}/fpf_thinking_map/__init__.py +0 -0
  16. {fpf_thinking_map-1.3.0 → fpf_thinking_map-1.3.1}/fpf_thinking_map/examples.py +0 -0
  17. {fpf_thinking_map-1.3.0 → fpf_thinking_map-1.3.1}/fpf_thinking_map/guards.py +0 -0
  18. {fpf_thinking_map-1.3.0 → fpf_thinking_map-1.3.1}/fpf_thinking_map/logic.py +0 -0
  19. {fpf_thinking_map-1.3.0 → fpf_thinking_map-1.3.1}/fpf_thinking_map/primitives.py +0 -0
  20. {fpf_thinking_map-1.3.0 → fpf_thinking_map-1.3.1}/fpf_thinking_map/py.typed +0 -0
  21. {fpf_thinking_map-1.3.0 → fpf_thinking_map-1.3.1}/fpf_thinking_map/state.py +0 -0
  22. {fpf_thinking_map-1.3.0 → fpf_thinking_map-1.3.1}/fpf_thinking_map/traversal.py +0 -0
  23. {fpf_thinking_map-1.3.0 → fpf_thinking_map-1.3.1}/fpf_thinking_map/verify.py +0 -0
  24. {fpf_thinking_map-1.3.0 → fpf_thinking_map-1.3.1}/fpf_thinking_map.egg-info/SOURCES.txt +0 -0
  25. {fpf_thinking_map-1.3.0 → fpf_thinking_map-1.3.1}/fpf_thinking_map.egg-info/dependency_links.txt +0 -0
  26. {fpf_thinking_map-1.3.0 → fpf_thinking_map-1.3.1}/fpf_thinking_map.egg-info/top_level.txt +0 -0
  27. {fpf_thinking_map-1.3.0 → fpf_thinking_map-1.3.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fpf-thinking-map
3
- Version: 1.3.0
3
+ Version: 1.3.1
4
4
  Summary: Agentic thinking map — structured reasoning constraints for LLMs with TTL evidence decay, deterministic guards, and propositional logic glue. Compiled from FPF (First Principles Framework).
5
5
  Author-email: "prichindel.com" <igareosh@igareosh.com>
6
6
  License: MIT
@@ -27,7 +27,7 @@ Dynamic: license-file
27
27
 
28
28
  # prichindel.com Agentic Thinking Map
29
29
 
30
- **v1.3.0** — [FPF (First Principles Framework)](https://github.com/ailev/FPF) compiled into a semi-formal thinking map for agentic AI guidance.
30
+ **v1.3.1** — [FPF (First Principles Framework)](https://github.com/ailev/FPF) compiled into a semi-formal thinking map for agentic AI guidance.
31
31
 
32
32
  A Python package that gives an AI model a small, structured board to reason on — one move at a time. Instead of freeform text generation, the model navigates a pre-shaped semantic field with deterministic guards and propositional logic constraints.
33
33
 
@@ -131,6 +131,12 @@ The model's job shrinks from "figure out the entire epistemic state of your own
131
131
  - **Evidence status in prompt** — the LLM prompt state now includes per-evidence freshness and TTL remaining. The model sees "test_results: 3 steps left" instead of just "test_results: exists." Decisions informed by countdown, not by guessing.
132
132
  - **Response contract** — every slice now ends with a `response_contract`: the structured template the model must fill when responding. Pre-filled fields (scope, basis with freshness/TTL, allowed use, not allowed use, modality, canonical terms, audience) come from the computed state. Empty fields (claim, risky aliases) are for the model. This is why all the code exists — so the contract has precomputed, validated values instead of being re-derived by the model from scratch.
133
133
 
134
+ ## v1.3.0 changes
135
+
136
+ - **Bridge crossing is enforced, not just advertised** — `ActiveState.cross_bridge()` / `ThinkingMapTraversal.attempt_bridge()` actually perform a cross-context hop and check `substitution_license` against `risk_level` before mutating state. An unlicensed bridge under `high`/`critical` risk is refused (`ESCALATE`), not silently allowed. Before this, `bridge_options()` was advisory metadata only — the model decided for itself whether a lossy translation was acceptable.
137
+ - **`include_full_state=False`** — `step()` can now ship the scoped `slice()` alone, without the whole board bolted on. Default stays `True`; opt in when the caller already knows its `transition_id` and wants the lean payload.
138
+ - 21/21 self-verification checks (`python -m fpf_thinking_map.verify`), two new: bridge crossing and lean-slice payload shape.
139
+
134
140
  ## Design principles
135
141
 
136
142
  - **Only add structure when it changes agentic behavior** — not for source fidelity alone
@@ -140,10 +146,10 @@ The model's job shrinks from "figure out the entire epistemic state of your own
140
146
 
141
147
  ## Using as a dependency
142
148
 
143
- This package is the reasoning engine. Your domain maps run on top of it.
149
+ This package is the compiled map, not a reasoning engine — it doesn't think for the model. Denying unlawful moves is the smaller half of the job; the bigger half is handing back the lawful ones as a small, plain-JSON slice — what can fire, what's missing, why — so the model has simple, understandable room to behave properly instead of guessing at its own state. That slice also lets the agent check itself, at any point mid-run, against whatever context it's currently in: `can_fire`, `blockers`, `outcome.kind` are plain +/- signals the model reads to self-address its own progress, not a verdict it has to reconstruct by re-reasoning. Your domain maps run on top of it; the model just reads the slice and picks a move from what's actually open to it.
144
150
 
145
151
  ```bash
146
- pip install git+https://github.com/igareosh/prichindel.com-agentic-thinking-map.git
152
+ pip install fpf-thinking-map
147
153
  ```
148
154
 
149
155
  ```python
@@ -213,4 +219,4 @@ MIT. See [LICENSE](LICENSE).
213
219
 
214
220
  ---
215
221
 
216
- **prichindel.com** — v1.2.1 — 2026-06-26
222
+ **prichindel.com** — v1.3.1 — 2026-07-06
@@ -1,6 +1,6 @@
1
1
  # prichindel.com Agentic Thinking Map
2
2
 
3
- **v1.3.0** — [FPF (First Principles Framework)](https://github.com/ailev/FPF) compiled into a semi-formal thinking map for agentic AI guidance.
3
+ **v1.3.1** — [FPF (First Principles Framework)](https://github.com/ailev/FPF) compiled into a semi-formal thinking map for agentic AI guidance.
4
4
 
5
5
  A Python package that gives an AI model a small, structured board to reason on — one move at a time. Instead of freeform text generation, the model navigates a pre-shaped semantic field with deterministic guards and propositional logic constraints.
6
6
 
@@ -104,6 +104,12 @@ The model's job shrinks from "figure out the entire epistemic state of your own
104
104
  - **Evidence status in prompt** — the LLM prompt state now includes per-evidence freshness and TTL remaining. The model sees "test_results: 3 steps left" instead of just "test_results: exists." Decisions informed by countdown, not by guessing.
105
105
  - **Response contract** — every slice now ends with a `response_contract`: the structured template the model must fill when responding. Pre-filled fields (scope, basis with freshness/TTL, allowed use, not allowed use, modality, canonical terms, audience) come from the computed state. Empty fields (claim, risky aliases) are for the model. This is why all the code exists — so the contract has precomputed, validated values instead of being re-derived by the model from scratch.
106
106
 
107
+ ## v1.3.0 changes
108
+
109
+ - **Bridge crossing is enforced, not just advertised** — `ActiveState.cross_bridge()` / `ThinkingMapTraversal.attempt_bridge()` actually perform a cross-context hop and check `substitution_license` against `risk_level` before mutating state. An unlicensed bridge under `high`/`critical` risk is refused (`ESCALATE`), not silently allowed. Before this, `bridge_options()` was advisory metadata only — the model decided for itself whether a lossy translation was acceptable.
110
+ - **`include_full_state=False`** — `step()` can now ship the scoped `slice()` alone, without the whole board bolted on. Default stays `True`; opt in when the caller already knows its `transition_id` and wants the lean payload.
111
+ - 21/21 self-verification checks (`python -m fpf_thinking_map.verify`), two new: bridge crossing and lean-slice payload shape.
112
+
107
113
  ## Design principles
108
114
 
109
115
  - **Only add structure when it changes agentic behavior** — not for source fidelity alone
@@ -113,10 +119,10 @@ The model's job shrinks from "figure out the entire epistemic state of your own
113
119
 
114
120
  ## Using as a dependency
115
121
 
116
- This package is the reasoning engine. Your domain maps run on top of it.
122
+ This package is the compiled map, not a reasoning engine — it doesn't think for the model. Denying unlawful moves is the smaller half of the job; the bigger half is handing back the lawful ones as a small, plain-JSON slice — what can fire, what's missing, why — so the model has simple, understandable room to behave properly instead of guessing at its own state. That slice also lets the agent check itself, at any point mid-run, against whatever context it's currently in: `can_fire`, `blockers`, `outcome.kind` are plain +/- signals the model reads to self-address its own progress, not a verdict it has to reconstruct by re-reasoning. Your domain maps run on top of it; the model just reads the slice and picks a move from what's actually open to it.
117
123
 
118
124
  ```bash
119
- pip install git+https://github.com/igareosh/prichindel.com-agentic-thinking-map.git
125
+ pip install fpf-thinking-map
120
126
  ```
121
127
 
122
128
  ```python
@@ -186,4 +192,4 @@ MIT. See [LICENSE](LICENSE).
186
192
 
187
193
  ---
188
194
 
189
- **prichindel.com** — v1.2.1 — 2026-06-26
195
+ **prichindel.com** — v1.3.1 — 2026-07-06
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fpf-thinking-map
3
- Version: 1.3.0
3
+ Version: 1.3.1
4
4
  Summary: Agentic thinking map — structured reasoning constraints for LLMs with TTL evidence decay, deterministic guards, and propositional logic glue. Compiled from FPF (First Principles Framework).
5
5
  Author-email: "prichindel.com" <igareosh@igareosh.com>
6
6
  License: MIT
@@ -27,7 +27,7 @@ Dynamic: license-file
27
27
 
28
28
  # prichindel.com Agentic Thinking Map
29
29
 
30
- **v1.3.0** — [FPF (First Principles Framework)](https://github.com/ailev/FPF) compiled into a semi-formal thinking map for agentic AI guidance.
30
+ **v1.3.1** — [FPF (First Principles Framework)](https://github.com/ailev/FPF) compiled into a semi-formal thinking map for agentic AI guidance.
31
31
 
32
32
  A Python package that gives an AI model a small, structured board to reason on — one move at a time. Instead of freeform text generation, the model navigates a pre-shaped semantic field with deterministic guards and propositional logic constraints.
33
33
 
@@ -131,6 +131,12 @@ The model's job shrinks from "figure out the entire epistemic state of your own
131
131
  - **Evidence status in prompt** — the LLM prompt state now includes per-evidence freshness and TTL remaining. The model sees "test_results: 3 steps left" instead of just "test_results: exists." Decisions informed by countdown, not by guessing.
132
132
  - **Response contract** — every slice now ends with a `response_contract`: the structured template the model must fill when responding. Pre-filled fields (scope, basis with freshness/TTL, allowed use, not allowed use, modality, canonical terms, audience) come from the computed state. Empty fields (claim, risky aliases) are for the model. This is why all the code exists — so the contract has precomputed, validated values instead of being re-derived by the model from scratch.
133
133
 
134
+ ## v1.3.0 changes
135
+
136
+ - **Bridge crossing is enforced, not just advertised** — `ActiveState.cross_bridge()` / `ThinkingMapTraversal.attempt_bridge()` actually perform a cross-context hop and check `substitution_license` against `risk_level` before mutating state. An unlicensed bridge under `high`/`critical` risk is refused (`ESCALATE`), not silently allowed. Before this, `bridge_options()` was advisory metadata only — the model decided for itself whether a lossy translation was acceptable.
137
+ - **`include_full_state=False`** — `step()` can now ship the scoped `slice()` alone, without the whole board bolted on. Default stays `True`; opt in when the caller already knows its `transition_id` and wants the lean payload.
138
+ - 21/21 self-verification checks (`python -m fpf_thinking_map.verify`), two new: bridge crossing and lean-slice payload shape.
139
+
134
140
  ## Design principles
135
141
 
136
142
  - **Only add structure when it changes agentic behavior** — not for source fidelity alone
@@ -140,10 +146,10 @@ The model's job shrinks from "figure out the entire epistemic state of your own
140
146
 
141
147
  ## Using as a dependency
142
148
 
143
- This package is the reasoning engine. Your domain maps run on top of it.
149
+ This package is the compiled map, not a reasoning engine — it doesn't think for the model. Denying unlawful moves is the smaller half of the job; the bigger half is handing back the lawful ones as a small, plain-JSON slice — what can fire, what's missing, why — so the model has simple, understandable room to behave properly instead of guessing at its own state. That slice also lets the agent check itself, at any point mid-run, against whatever context it's currently in: `can_fire`, `blockers`, `outcome.kind` are plain +/- signals the model reads to self-address its own progress, not a verdict it has to reconstruct by re-reasoning. Your domain maps run on top of it; the model just reads the slice and picks a move from what's actually open to it.
144
150
 
145
151
  ```bash
146
- pip install git+https://github.com/igareosh/prichindel.com-agentic-thinking-map.git
152
+ pip install fpf-thinking-map
147
153
  ```
148
154
 
149
155
  ```python
@@ -213,4 +219,4 @@ MIT. See [LICENSE](LICENSE).
213
219
 
214
220
  ---
215
221
 
216
- **prichindel.com** — v1.2.1 — 2026-06-26
222
+ **prichindel.com** — v1.3.1 — 2026-07-06
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "fpf-thinking-map"
3
- version = "1.3.0"
3
+ version = "1.3.1"
4
4
  description = "Agentic thinking map — structured reasoning constraints for LLMs with TTL evidence decay, deterministic guards, and propositional logic glue. Compiled from FPF (First Principles Framework)."
5
5
  readme = "README.md"
6
6
  license = {text = "MIT"}