Audit dignity guardrail v1 boundary

This commit is contained in:
732642856
2026-06-28 14:20:21 +08:00
parent cf192d1a1e
commit 7390ff1b6f
2 changed files with 67 additions and 0 deletions
+6
View File
@@ -36,3 +36,9 @@ This file is the small index for the current engineering fronts that still drive
- `/Users/wuyongnaren/Documents/印度占星/scripts/vedastro_service_adapter.py`
- follow only after the Jaimini marriage bridge v1 regression loop is closed
## Dignity / Role Guardrails
- `/Users/wuyongnaren/Documents/印度占星/docs/superpowers/specs/2026-06-28-dignity-guardrail-v1-design.md`
- `/Users/wuyongnaren/Documents/印度占星/docs/research/dignity_guardrail_v1_boundary_audit_2026_06_28.md`
- D1-only dignity guardrail is now landed; divisional dignity repair and a separate functional-role guardrail remain open fronts.
@@ -0,0 +1,61 @@
# Dignity Guardrail v1 Boundary Audit - 2026-06-28
## What Landed
- `dignity_guardrail` has been added to `relationship` and `finance` strict workflows.
- The guardrail reads only D1 `chart.planets.status`.
- Only route-relevant planets may affect the guardrail result.
- Score impact is bounded to a single `-5 | 0 | +5`.
- The previous whole-chart dignity broadcast has been removed from `_derive_event_judgement`.
## What Did Not Land
- No D9 dignity scoring
- No D10 dignity scoring
- No Vimsopaka dignity scoring
- No `dominant_label` lifting from dignity
- No merge with Functional Benefic/Malefic logic
- No multi-planet cumulative dignity scoring
## Verified Boundary
The current implementation now enforces these behaviors:
1. non-relevant planets are ignored for route scoring
2. mixed relevant `NEECHA_BHANGA` and `GREAT_ENEMY` signals collapse to `conflict`
3. `conflict` does not directly change event labels
4. `relationship` and `finance` retain their pre-existing label logic
5. dignity only modifies:
- `event_judgement.score`
- `event_judgement.secondary_context`
- `confidence_cap` when a conflict is present
## Why This Is Safer Than The Previous State
The previous implementation scanned all natal planets and added or subtracted score directly from chart status strings. That allowed unrelated dignity states to alter relationship or finance verdicts.
The new guardrail restores strict-workflow discipline by making dignity:
- domain-aware
- bounded
- auditable
- non-authoritative
## Known Follow-Ups
1. Repair divisional dignity data-flow separately in `scripts/jyotish_engine.py`
- current divisional dignity calculations still need an isolated follow-up review
2. Build `functional_role_guardrail`
- this should consume the already existing Functional Benefic/Malefic layer
3. Decide later whether `GREAT_FRIEND` should receive context-only semantics
4. Consider whether a route-specific audit table row should be emitted for dignity guardrail status
## Verification
Executed:
- `python3 -m pytest tests/test_mcp_strict_workflow_relationship.py tests/test_mcp_strict_workflow_finance.py -q`
Result:
- `25 passed`