58 """Attach the M11.1c db subcommands to ``db_parser``."""
60 db_parser.set_defaults(handler=_cmd_db_group, db_parser=db_parser)
61 subcommands = db_parser.add_subparsers(dest=
"db_command")
63 integrity = subcommands.add_parser(
65 help=
"Run SQLite physical, FK, and append-only integrity checks.",
67 integrity.add_argument(
70 help=
"Registry SQLite path. Defaults to the discovery algorithm.",
72 integrity.add_argument(
75 help=
"Emit the structured integrity report as JSON.",
77 integrity.set_defaults(handler=_cmd_integrity_check)
79 for name
in RESERVED_DB_COMMANDS:
80 reserved = subcommands.add_parser(
82 help=
"Reserved for a later registry phase.",
84 reserved.set_defaults(handler=_cmd_reserved_db)
94 location = discover_registry_location(registry_path=args.registry)
95 backend =
SQLiteBackend(location.registry_path, check_capabilities=
False)
96 report = backend.integrity_check()
98 print(json.dumps(report, indent=2, sort_keys=
True))
101 return 0
if report.get(
"ok")
is True else 1