# v1.72 Milestone Audit

Status: passed

## Scope Closed

- Phase `146`: Record Human Modifications On L2 Approval

## Production Outcome

`v1.72` now closes the bounded promotion-gate human-override gap through:

- `research/knowledge-hub/knowledge_hub/promotion_gate_support.py`
- `research/knowledge-hub/knowledge_hub/aitp_service.py`
- `research/knowledge-hub/knowledge_hub/aitp_cli.py`
- `research/knowledge-hub/knowledge_hub/topic_replay.py`
- `research/knowledge-hub/runtime/scripts/run_human_modification_record_acceptance.py`
- `research/knowledge-hub/tests/test_human_modification_record_contracts.py`
- `research/knowledge-hub/tests/test_runtime_scripts.py`
- `research/knowledge-hub/tests/test_aitp_cli.py`
- `research/knowledge-hub/tests/test_aitp_service.py`
- `research/knowledge-hub/tests/test_topic_replay.py`

The milestone adds:

- one explicit `human_modifications` record on approval
- one explicit distinction between `approved_as_submitted` and
  `approved_with_modifications`
- one replay/read surface that keeps the modified approval visible
- one isolated acceptance lane for the modified-approval path

## Verification Evidence

- CLI parser/dispatch slice:
  - `python -m pytest research/knowledge-hub/tests/test_aitp_cli.py -k "promotion_commands_are_registered or approve_promotion_with_human_modification" -q`
  - result: `2 passed`
- service approval slice:
  - `python -m pytest research/knowledge-hub/tests/test_aitp_service.py -k "approve_promotion_can_record_human_modifications or request_and_approve_promotion_gate_write_runtime_artifacts" -q`
  - result: `2 passed`
- replay slice:
  - `python -m pytest research/knowledge-hub/tests/test_topic_replay.py -q`
  - result: `2 passed`
- contract slice:
  - `python -m pytest research/knowledge-hub/tests/test_human_modification_record_contracts.py -q`
  - result: `2 passed`
- isolated acceptance:
  - `python research/knowledge-hub/runtime/scripts/run_human_modification_record_acceptance.py --json`
  - result: `success`
- runtime acceptance harness slice:
  - `python -m pytest research/knowledge-hub/tests/test_runtime_scripts.py -k "human_modification_record_acceptance" -q`
  - result: `1 passed, 31 deselected`

## Accepted Open Gaps

- full competing-hypothesis modeling remains deferred
- broader evaluator-divergence analytics remain outside this milestone
- generalized human rewrite tracking outside the L2 approval gate remains deferred
