feat(opencode): the OpenCode harness, checked against its goldens
The tool source generated from the schema, the home with its view, the shared and per-process environments, the permission rules, the commands, the warm-up under the supervisor, the event stream and the classification, its patterns as hand-written scanners. The goldens record the answer for each, a warm-up against a fake opencode included. A timed-out supervised command now gets SIGTERM, so the supervisor takes its tree down (SIGKILL 10 s later); any other child gets SIGKILL. :Json gains DumpCompact. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
c63c898833
commit
5253fe3aff
10 changed files with 1946 additions and 7 deletions
|
|
@ -13,7 +13,7 @@ using namespace Crafter;
|
|||
namespace {
|
||||
// The umbrella, then the partitions in import order: each after the ones
|
||||
// it imports, which is also the order the module map in AGENTS.md uses.
|
||||
constexpr std::array<std::string_view, 28> Interfaces = {
|
||||
constexpr std::array<std::string_view, 29> Interfaces = {
|
||||
"interfaces/Crafter.Review",
|
||||
"interfaces/Crafter.Review-Unicode",
|
||||
"interfaces/Crafter.Review-Json",
|
||||
|
|
@ -40,10 +40,11 @@ namespace {
|
|||
"interfaces/Crafter.Review-Mcp",
|
||||
"interfaces/Crafter.Review-Seats",
|
||||
"interfaces/Crafter.Review-SeatPool",
|
||||
"interfaces/Crafter.Review-OpenCode",
|
||||
"interfaces/Crafter.Review-Freeze",
|
||||
"interfaces/Crafter.Review-Driver",
|
||||
};
|
||||
constexpr std::array<std::string_view, 25> Implementations = {
|
||||
constexpr std::array<std::string_view, 26> Implementations = {
|
||||
"implementations/Crafter.Review-Text",
|
||||
"implementations/Crafter.Review-Crypto",
|
||||
"implementations/Crafter.Review-Platform",
|
||||
|
|
@ -67,6 +68,7 @@ namespace {
|
|||
"implementations/Crafter.Review-Mcp",
|
||||
"implementations/Crafter.Review-Seats",
|
||||
"implementations/Crafter.Review-SeatPool",
|
||||
"implementations/Crafter.Review-OpenCode",
|
||||
"implementations/Crafter.Review-Freeze",
|
||||
"implementations/Crafter.Review-Driver",
|
||||
};
|
||||
|
|
@ -78,7 +80,7 @@ namespace {
|
|||
|
||||
// One per directory under tests/, each an ordinary main() that links the
|
||||
// library: exit 0 passes, nonzero fails, 77 skips.
|
||||
constexpr std::array<std::string_view, 17> Tests = {
|
||||
constexpr std::array<std::string_view, 18> Tests = {
|
||||
"Crypto",
|
||||
"Text",
|
||||
"Platform",
|
||||
|
|
@ -96,6 +98,7 @@ namespace {
|
|||
"Seats",
|
||||
"SeatPool",
|
||||
"Drivers",
|
||||
"OpenCode",
|
||||
};
|
||||
|
||||
// The version the binary reports: CI sets it from the tag, a checkout
|
||||
|
|
|
|||
Loading…
Reference in a new issue