feat(propose): --outline-run selects Arm D, default 0 is off
This commit is contained in:
parent
5080240366
commit
6e2238454c
2 changed files with 146 additions and 0 deletions
|
|
@ -604,6 +604,11 @@ def run(
|
|||
f"--max-segment-chars {max_segment_chars} is negative; the cap is a "
|
||||
"character count, and 0 means off (Arm B)"
|
||||
)
|
||||
if outline_run < 0:
|
||||
raise ProposerError(
|
||||
f"--outline-run {outline_run} is negative; the gate is a run LENGTH, "
|
||||
"and 0 means off (Arm B)"
|
||||
)
|
||||
# Reduced HERE, before anything is read: a prefix that survives to the
|
||||
# entries as an empty component would produce exactly the unscoped paths
|
||||
# the caller asked to avoid, and would do it silently.
|
||||
|
|
@ -693,6 +698,23 @@ def parse_args(argv: list[str] | None) -> argparse.Namespace:
|
|||
"the K3 method file"
|
||||
),
|
||||
)
|
||||
parser.add_argument(
|
||||
"--outline-run",
|
||||
type=int,
|
||||
default=0,
|
||||
metavar="N",
|
||||
help=(
|
||||
"Arm D: also propose a boundary at each line of the document's own "
|
||||
"numbered outline (the bare integers the heading grammar cannot "
|
||||
"match, since it requires a dot), but only where those integers "
|
||||
"sustain an ascending run of at least N entries, and only for the "
|
||||
"LAST such run when the outline repeats, because a contents listing "
|
||||
"precedes the body it lists. 0 (the default) is OFF and leaves the "
|
||||
"artifact byte-identical to Arm B. Arm D is the author's definition, "
|
||||
"written for order 20260906T213322Z; it is not defined upstream, and "
|
||||
"the K3 method file does not name it either"
|
||||
),
|
||||
)
|
||||
parser.add_argument(
|
||||
"--proposed-at",
|
||||
default="1970-01-01T00:00:00Z",
|
||||
|
|
@ -711,6 +733,7 @@ def main(argv: list[str] | None = None) -> int:
|
|||
proposed_at=args.proposed_at,
|
||||
path_prefix=args.path_prefix,
|
||||
max_segment_chars=args.max_segment_chars,
|
||||
outline_run=args.outline_run,
|
||||
)
|
||||
except ProposerError as exc:
|
||||
print(f"{PROPOSER_ID}: FAILED - {exc}", file=sys.stderr)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue