@arbiterforge/ca-pi 0.17.8 → 0.17.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -10,7 +10,7 @@ and durable project context. You decide. codeArbiter enforces.
10
10
  <img alt="Claude Code plugin" src="https://img.shields.io/badge/Claude_Code-plugin-d97757">
11
11
  <img alt="Codex plugin" src="https://img.shields.io/badge/OpenAI_Codex-plugin-10a37f">
12
12
  <img alt="Pi Feature Forge preview" src="https://img.shields.io/badge/ca--pi-Feature_Forge_preview-d97757">
13
- <img alt="version 2.25.7" src="https://img.shields.io/badge/version-2.25.7-2b7489">
13
+ <img alt="version 2.25.8" src="https://img.shields.io/badge/version-2.25.8-2b7489">
14
14
  <img alt="core lanes" src="https://img.shields.io/badge/core_lanes-18-555">
15
15
  <img alt="skills" src="https://img.shields.io/badge/skills-22-555">
16
16
  <img alt="agents" src="https://img.shields.io/badge/agents-20-555">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arbiterforge/ca-pi",
3
- "version": "0.17.8",
3
+ "version": "0.17.9",
4
4
  "license": "AGPL-3.0-only",
5
5
  "repository": {
6
6
  "type": "git",
@@ -4,6 +4,14 @@ All notable changes to `ca-pi` are documented in this file.
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [0.17.9] - 2026-10-12
8
+
9
+ ### Fixed
10
+
11
+ - Recognize normal verbose unittest rows for fully qualified required test
12
+ identities. Preserve exact identity matching and refusal of duplicate,
13
+ skipped, failed or missing required results (#955).
14
+
7
15
  ## [0.17.8] - 2026-10-12
8
16
 
9
17
  ### Fixed
@@ -37,11 +37,11 @@
37
37
  },
38
38
  "context_qualification": {
39
39
  "darwin/amd64": {
40
- "source_commit": "4c2529e2f3804d38855094e1c11d36178067c826",
40
+ "source_commit": "b93987795456370149d84ac184e350bfbe05b464",
41
41
  "workflow": ".github/workflows/ci.yml",
42
- "run_id": "38219547942",
42
+ "run_id": "38229898869",
43
43
  "binary_sha256": "5214e1062e49aa39cd73868cd9792e7e296a865bb6e86230b17c19dda1ba3b71",
44
- "observation_sha256": "fdd1d120d5ad0e4aed101efad7c32aeac561035faf075b70abf3ba5f82a4bc3b",
44
+ "observation_sha256": "a3370601b8e4814392371b8e0adebb01341cf5477e9d58d4259aa6534984f792",
45
45
  "module_sha256": "1aea76bc4dc8b54b368dccc80c3a1133b403b5915018fdcb6018f1a3913fe66c",
46
46
  "native_cases": [
47
47
  "TestContextBoundedRender",
@@ -53,11 +53,11 @@
53
53
  ]
54
54
  },
55
55
  "darwin/arm64": {
56
- "source_commit": "4c2529e2f3804d38855094e1c11d36178067c826",
56
+ "source_commit": "b93987795456370149d84ac184e350bfbe05b464",
57
57
  "workflow": ".github/workflows/ci.yml",
58
- "run_id": "38219547942",
58
+ "run_id": "38229898869",
59
59
  "binary_sha256": "dde6deb178a0e725f8a88b1b30fa6980622b8af3b13fb73261aaaea47eb75a38",
60
- "observation_sha256": "18294ead6b8a48804464f06f1bcc8254e0176c0ac0c48486a121aa1a018a309a",
60
+ "observation_sha256": "0ad1f8fa8f4fc99e84432391c438d3d2b6b0fa00ef2869e9f2dacfbbed858575",
61
61
  "module_sha256": "1aea76bc4dc8b54b368dccc80c3a1133b403b5915018fdcb6018f1a3913fe66c",
62
62
  "native_cases": [
63
63
  "TestContextBoundedRender",
@@ -69,11 +69,11 @@
69
69
  ]
70
70
  },
71
71
  "linux/amd64": {
72
- "source_commit": "4c2529e2f3804d38855094e1c11d36178067c826",
72
+ "source_commit": "b93987795456370149d84ac184e350bfbe05b464",
73
73
  "workflow": ".github/workflows/ci.yml",
74
- "run_id": "38219547942",
74
+ "run_id": "38229898869",
75
75
  "binary_sha256": "ca2d5e0fecac0c99c45dc7576fff7d56af63dbd85decb4cfc54f81621ac90901",
76
- "observation_sha256": "e4717e28c2ca9a27fc278196310a00a3adff09766d307951ba93de57b262f6ab",
76
+ "observation_sha256": "abf1c99d5f6a6991bb6c19127c6ec7481d1fc1f21a77190af377efbbfa33f413",
77
77
  "module_sha256": "1aea76bc4dc8b54b368dccc80c3a1133b403b5915018fdcb6018f1a3913fe66c",
78
78
  "native_cases": [
79
79
  "TestContextBoundedRender",
@@ -85,11 +85,11 @@
85
85
  ]
86
86
  },
87
87
  "linux/arm64": {
88
- "source_commit": "4c2529e2f3804d38855094e1c11d36178067c826",
88
+ "source_commit": "b93987795456370149d84ac184e350bfbe05b464",
89
89
  "workflow": ".github/workflows/ci.yml",
90
- "run_id": "38219547942",
90
+ "run_id": "38229898869",
91
91
  "binary_sha256": "de18df4c499814f6ccfc69efa6bfb6f4bbcd37c2af5dd091727233f1aaf91a39",
92
- "observation_sha256": "03064179c8e677c66c0c90a2d109b139e5b3bb057fa296d5a9da4946ae26c37c",
92
+ "observation_sha256": "82716162a25f21001578b59bb479fe6ab9d8e786324b6378ee3e63ba273320b3",
93
93
  "module_sha256": "1aea76bc4dc8b54b368dccc80c3a1133b403b5915018fdcb6018f1a3913fe66c",
94
94
  "native_cases": [
95
95
  "TestContextBoundedRender",
@@ -101,11 +101,11 @@
101
101
  ]
102
102
  },
103
103
  "windows/amd64": {
104
- "source_commit": "4c2529e2f3804d38855094e1c11d36178067c826",
104
+ "source_commit": "b93987795456370149d84ac184e350bfbe05b464",
105
105
  "workflow": ".github/workflows/ci.yml",
106
- "run_id": "38219547942",
106
+ "run_id": "38229898869",
107
107
  "binary_sha256": "ddab696f02b946400feac527f747a020b76dbb9e5dd444b0b7d464acbcd3888e",
108
- "observation_sha256": "e31ae79bc15c37dbb157c11e5a3775dd0d314350bbf761a968999ba4ffde2d9c",
108
+ "observation_sha256": "fa811f878b9b700f119712ebe778d4fe31784c201d9df7d27f10a16f61777e49",
109
109
  "module_sha256": "1aea76bc4dc8b54b368dccc80c3a1133b403b5915018fdcb6018f1a3913fe66c",
110
110
  "native_cases": [
111
111
  "TestContextBoundedRender",
@@ -117,11 +117,11 @@
117
117
  ]
118
118
  },
119
119
  "windows/arm64": {
120
- "source_commit": "4c2529e2f3804d38855094e1c11d36178067c826",
120
+ "source_commit": "b93987795456370149d84ac184e350bfbe05b464",
121
121
  "workflow": ".github/workflows/ci.yml",
122
- "run_id": "38219547942",
122
+ "run_id": "38229898869",
123
123
  "binary_sha256": "23689eaa4df71f95bde58b18bc32fab8d4ae709495250ddfd13192fc0427a813",
124
- "observation_sha256": "e04cb8b45299950247c82557e7aa4c60c4c7b6b9718775b8c3ecaedc1d7bb6fe",
124
+ "observation_sha256": "668d99a5a660282a02854602220925c3f0d5aca22857f55701d57af2d1703fc6",
125
125
  "module_sha256": "1aea76bc4dc8b54b368dccc80c3a1133b403b5915018fdcb6018f1a3913fe66c",
126
126
  "native_cases": [
127
127
  "TestContextBoundedRender",
@@ -1735,7 +1735,14 @@ def _unittest_collector(stdout: bytes, stderr: bytes, required: list[str]) -> li
1735
1735
  text = (stdout + b"\n" + stderr).decode("utf-8", "replace")
1736
1736
  results = []
1737
1737
  for name in required:
1738
- pattern = re.compile(r"(?m)^" + re.escape(name) + r"(?:[ \t]+\([^\r\n]*\))?[ \t]+\.\.\.[ \t]+([^\r\n]+)\r?$")
1738
+ identity = re.escape(name)
1739
+ prefix = identity + r"(?:[ \t]+\([^\r\n]*\))?"
1740
+ if "." in name:
1741
+ # Ordinary verbose rows put the full identity in parentheses.
1742
+ # Match both forms together so mixed rows still count as duplicates.
1743
+ prefix = (r"(?:" + prefix + r"|" + re.escape(name.rsplit(".", 1)[1])
1744
+ + r"[ \t]+\(" + identity + r"\))")
1745
+ pattern = re.compile(r"(?m)^" + prefix + r"[ \t]+\.\.\.[ \t]+([^\r\n]+)\r?$")
1739
1746
  matches = pattern.findall(text)
1740
1747
  if not matches:
1741
1748
  raise AuthorityError("MISSING_TEST_RESULT", f"required test did not pass: {name}")
@@ -11,7 +11,7 @@ import hostapi # noqa: E402
11
11
  class PiHost(hostapi.Host):
12
12
  name = "pi"
13
13
  adapter_name = "@arbiterforge/ca-pi"
14
- adapter_version = "0.17.8"
14
+ adapter_version = "0.17.9"
15
15
  update_target = "ca-pi"
16
16
  update_tag_prefix = "ca-pi-v"
17
17
  update_command = "pi update npm:@arbiterforge/ca-pi"
@@ -313,7 +313,7 @@ class Host:
313
313
 
314
314
  name = "claude"
315
315
  adapter_name = "ca"
316
- adapter_version = "2.25.7"
316
+ adapter_version = "2.25.8"
317
317
 
318
318
  # Update-notifier descriptor. Each independently versioned host overrides
319
319
  # these three values in its per-plugin _host.py. Keeping the target,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arbiterforge/ca-pi",
3
- "version": "0.17.8",
3
+ "version": "0.17.9",
4
4
  "private": true,
5
5
  "license": "AGPL-3.0-only",
6
6
  "type": "module",