yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
oracle_smoke_check_commands.h
Go to the documentation of this file.
1#ifndef YAZE_SRC_CLI_HANDLERS_GAME_ORACLE_SMOKE_CHECK_COMMANDS_H_
2#define YAZE_SRC_CLI_HANDLERS_GAME_ORACLE_SMOKE_CHECK_COMMANDS_H_
3
5
6namespace yaze::cli::handlers {
7
8// Consolidated Oracle ROM smoke check covering three subsystems:
9// D4 Zora Temple — structural water-fill preflight + room readiness
10// D6 Goron Mines — minecart audit on 4 known rooms (0xA8,0xB8,0xD8,0xDA)
11// D3 Kalyxo Castle — prison room 0x32 collision readiness
12//
13// Default mode: fail only on structural issues (missing water-fill region,
14// corrupted table, etc.).
15// Strict mode (--strict-readiness): also fail when D4/D3 rooms lack authored
16// collision data.
17// D6 gate (--min-d6-track-rooms N): fail when fewer than N D6 rooms have
18// track rail objects; treated as a structural failure.
19//
20// Output: one JSON object with ok/status/checks fields.
21// See docs/internal/agents/rom-safety-guardrails.md for pass/fail semantics.
23 public:
24 std::string GetName() const override { return "oracle-smoke-check"; }
25 std::string GetUsage() const override {
26 return "oracle-smoke-check [--strict-readiness] "
27 "[--min-d6-track-rooms <N>] [--report <path>] "
28 "[--format <json|text>]";
29 }
30
31 Descriptor Describe() const override;
32
33 // Probes --report path writability before the formatter starts — zero-stdout
34 // semantics on failure (same contract as dungeon-oracle-preflight).
35 absl::Status ValidateArgs(
36 const resources::ArgumentParser& parser) override;
37
38 absl::Status Execute(Rom* rom, const resources::ArgumentParser& parser,
39 resources::OutputFormatter& formatter) override;
40};
41
42} // namespace yaze::cli::handlers
43
44#endif // YAZE_SRC_CLI_HANDLERS_GAME_ORACLE_SMOKE_CHECK_COMMANDS_H_
The Rom class is used to load, save, and modify Rom data. This is a generic SNES ROM container and do...
Definition rom.h:28
Descriptor Describe() const override
Provide metadata for TUI/help summaries.
absl::Status Execute(Rom *rom, const resources::ArgumentParser &parser, resources::OutputFormatter &formatter) override
Execute the command business logic.
std::string GetUsage() const override
Get the command usage string.
absl::Status ValidateArgs(const resources::ArgumentParser &parser) override
Validate command arguments.
std::string GetName() const override
Get the command name.
Utility for parsing common CLI argument patterns.
Base class for CLI command handlers.
Utility for consistent output formatting across commands.