docs(6206): webhooks, search, rulebooks routes and retrieval_tuning, note, models/__init__ drop citations
routes/search states the derived-facets property rather than the silent whole-corpus bug that motivated it; routes/rulebooks gives the preference restore exception its reasoning without the milestone numbers it cited. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -280,19 +280,18 @@ async def get_rule_version(rule_id: int, version_id: int):
|
||||
return jsonify(version.to_dict(include_text=True))
|
||||
|
||||
|
||||
# NO restore route FOR A RULE, deliberately (milestone 323). A note version
|
||||
# NO restore route FOR A RULE, deliberately. A note version
|
||||
# can be restored; a binding instruction should not be revertible in one
|
||||
# click. Putting a rewrite back goes through update_rule, which takes its own
|
||||
# snapshot and leaves the undo in the history like any other edit — a silent
|
||||
# revert would erase the only record of why the rewrite happened.
|
||||
#
|
||||
# A PREFERENCE IS THE EXCEPTION, and the route below refuses anything else.
|
||||
# 323's reasoning turns on the rewrite being the operator's own decision.
|
||||
# The reasoning above turns on the rewrite being the operator's own decision.
|
||||
# A preference's rewrite is not: the agent makes it mid-work without asking,
|
||||
# which is what the kind is for. Reverting one is a veto over someone else's
|
||||
# edit rather than an undo of your own, and milestone 399 named the cost of
|
||||
# making that veto expensive — drift supervised in name only. The safeguard
|
||||
# 323 actually wanted survives intact, because the restore goes through
|
||||
# edit rather than an undo of your own, and making that veto expensive leaves
|
||||
# drift supervised in name only. The safeguard survives intact, because the restore goes through
|
||||
# update_rule too: the rewrite stays in the history with the revert recorded
|
||||
# after it, so the history gains an entry rather than losing one.
|
||||
|
||||
@@ -369,7 +368,7 @@ async def unrelate_rules(relation_id: int):
|
||||
@login_required
|
||||
async def move_rule(rule_id: int):
|
||||
"""Give a rule a new home: {topic_id} makes it global, {project_id} makes
|
||||
it that project's. The MCP twin is move_rule (rule 33: same names)."""
|
||||
it that project's. The MCP twin is move_rule, under the same names."""
|
||||
data = await request.get_json() or {}
|
||||
uid = get_current_user_id()
|
||||
try:
|
||||
@@ -452,7 +451,7 @@ async def create_project_rule(project_id: int):
|
||||
)), 201
|
||||
|
||||
|
||||
# ── The staleness sweep (milestone 312) ────────────────────────────────
|
||||
# ── The staleness sweep ────────────────────────────────────────────────
|
||||
|
||||
@rulebooks_bp.get("/rules-due-for-verification")
|
||||
@login_required
|
||||
|
||||
Reference in New Issue
Block a user