pactkit-codex 4.1.0__tar.gz → 4.2.0__tar.gz

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.
Files changed (18) hide show
  1. {pactkit_codex-4.1.0/src/pactkit_codex.egg-info → pactkit_codex-4.2.0}/PKG-INFO +2 -2
  2. {pactkit_codex-4.1.0 → pactkit_codex-4.2.0}/pyproject.toml +6 -2
  3. {pactkit_codex-4.1.0 → pactkit_codex-4.2.0}/src/pactkit_codex/deployer.py +22 -9
  4. {pactkit_codex-4.1.0 → pactkit_codex-4.2.0/src/pactkit_codex.egg-info}/PKG-INFO +2 -2
  5. {pactkit_codex-4.1.0 → pactkit_codex-4.2.0}/src/pactkit_codex.egg-info/requires.txt +1 -1
  6. {pactkit_codex-4.1.0 → pactkit_codex-4.2.0}/LICENSE +0 -0
  7. {pactkit_codex-4.1.0 → pactkit_codex-4.2.0}/README.md +0 -0
  8. {pactkit_codex-4.1.0 → pactkit_codex-4.2.0}/setup.cfg +0 -0
  9. {pactkit_codex-4.1.0 → pactkit_codex-4.2.0}/src/pactkit_codex/__init__.py +0 -0
  10. {pactkit_codex-4.1.0 → pactkit_codex-4.2.0}/src/pactkit_codex/declarations.py +0 -0
  11. {pactkit_codex-4.1.0 → pactkit_codex-4.2.0}/src/pactkit_codex/enforcement.py +0 -0
  12. {pactkit_codex-4.1.0 → pactkit_codex-4.2.0}/src/pactkit_codex.egg-info/SOURCES.txt +0 -0
  13. {pactkit_codex-4.1.0 → pactkit_codex-4.2.0}/src/pactkit_codex.egg-info/dependency_links.txt +0 -0
  14. {pactkit_codex-4.1.0 → pactkit_codex-4.2.0}/src/pactkit_codex.egg-info/entry_points.txt +0 -0
  15. {pactkit_codex-4.1.0 → pactkit_codex-4.2.0}/src/pactkit_codex.egg-info/top_level.txt +0 -0
  16. {pactkit_codex-4.1.0 → pactkit_codex-4.2.0}/tests/test_capability_contract.py +0 -0
  17. {pactkit_codex-4.1.0 → pactkit_codex-4.2.0}/tests/test_host_body_snapshot.py +0 -0
  18. {pactkit_codex-4.1.0 → pactkit_codex-4.2.0}/tests/test_profile_contract.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pactkit-codex
3
- Version: 4.1.0
3
+ Version: 4.2.0
4
4
  Summary: PactKit adapter for OpenAI Codex CLI
5
5
  Author: Slim
6
6
  License: MIT
@@ -21,7 +21,7 @@ Classifier: Topic :: Software Development :: Quality Assurance
21
21
  Requires-Python: >=3.10
22
22
  Description-Content-Type: text/markdown
23
23
  License-File: LICENSE
24
- Requires-Dist: pactkit<4.2.0,>=4.1.0
24
+ Requires-Dist: pactkit<4.3.0,>=4.2.0
25
25
  Requires-Dist: tomli>=1.1.0; python_version < "3.11"
26
26
  Dynamic: license-file
27
27
 
@@ -4,13 +4,17 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "pactkit-codex"
7
- version = "4.1.0"
7
+ version = "4.2.0"
8
8
  description = "PactKit adapter for OpenAI Codex CLI"
9
9
  readme = "README.md"
10
10
  license = {text = "MIT"}
11
11
  requires-python = ">=3.10"
12
12
  dependencies = [
13
- "pactkit>=4.1.0,<4.2.0",
13
+ # 2026-10-14: the project-level AGENTS.md write goes through
14
+ # `pactkit.managed_docs.upsert_managed_block`, which first ships in
15
+ # core 4.1.3. The previous floor (>=4.1.0) allowed a released-core
16
+ # combination whose deploy raises ImportError.
17
+ "pactkit>=4.2.0,<4.3.0",
14
18
  "tomli>=1.1.0; python_version < '3.11'",
15
19
  ]
16
20
 
@@ -1016,7 +1016,14 @@ class CodexDeployer(DeployerBase):
1016
1016
 
1017
1017
  @staticmethod
1018
1018
  def generate_codex_project_files(project_root):
1019
- """Generate project-level AGENTS.md, .codex/AGENTS.local.md, and .codex/pactkit.yaml."""
1019
+ """Generate project-level AGENTS.md, .codex/AGENTS.local.md, and .codex/pactkit.yaml.
1020
+
1021
+ ``AGENTS.md`` is merge-semantics (2026-10-14, STORY-010 AC1/AC4
1022
+ re-adjudicated): it carries the project's own rules, so only PactKit's
1023
+ marked region is ours. The whole-file rewrite and the title-based
1024
+ "migration" into ``AGENTS.local.md`` are gone — a matching title was
1025
+ never ownership proof, and both destroyed project rules.
1026
+ """
1020
1027
  if project_root.resolve() == Path.home().resolve():
1021
1028
  return
1022
1029
 
@@ -1028,19 +1035,18 @@ class CodexDeployer(DeployerBase):
1028
1035
  agents_md_path = project_root / "AGENTS.md"
1029
1036
  local_md_path = codex_dir / "AGENTS.local.md"
1030
1037
 
1031
- if agents_md_path.exists() and not local_md_path.exists():
1032
- existing = agents_md_path.read_text()
1033
- expected_first_line = f"# {project_name}"
1034
- first_line = existing.split("\n", 1)[0].strip()
1035
- if first_line != expected_first_line:
1036
- atomic_write(local_md_path, existing)
1037
-
1038
1038
  dev_commands = _STACK_DEV_COMMANDS.get(stack, _STACK_DEV_COMMANDS["unknown"])
1039
1039
  content = _CODEX_PROJECT_AGENTS_MD.format(
1040
1040
  project_name=project_name,
1041
1041
  dev_commands=dev_commands,
1042
+ ).rstrip("\n")
1043
+
1044
+ from pactkit.managed_docs import upsert_managed_block
1045
+
1046
+ upsert_managed_block(
1047
+ agents_md_path, content,
1048
+ ownership=(project_root, "AGENTS.md"), backup_root=codex_dir,
1042
1049
  )
1043
- atomic_write(agents_md_path, content)
1044
1050
 
1045
1051
  if not local_md_path.exists():
1046
1052
  atomic_write(local_md_path, _CODEX_LOCAL_AGENTS_MD)
@@ -1243,6 +1249,13 @@ Stop at the failing stage and report the evidence needed to resume in this
1243
1249
  same session. Checkpoints are optional handover context; they never block a
1244
1250
  later command or require a run ID.
1245
1251
 
1252
+ Handover notes are optional. When they help, retain the current objective and
1253
+ confirmed corrections, target worktree/branch/revision, completed work with
1254
+ evidence references, remaining gaps, and the next useful action. Omit unknowns,
1255
+ credentials, and chat transcripts. Authorization does not carry forward;
1256
+ re-check the current user's instruction. A missing handover never blocks work
1257
+ in this session.
1258
+
1246
1259
  ## Backlog mode
1247
1260
 
1248
1261
  With empty `$ARGUMENTS`, inspect the board and run eligible Stories one at a
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pactkit-codex
3
- Version: 4.1.0
3
+ Version: 4.2.0
4
4
  Summary: PactKit adapter for OpenAI Codex CLI
5
5
  Author: Slim
6
6
  License: MIT
@@ -21,7 +21,7 @@ Classifier: Topic :: Software Development :: Quality Assurance
21
21
  Requires-Python: >=3.10
22
22
  Description-Content-Type: text/markdown
23
23
  License-File: LICENSE
24
- Requires-Dist: pactkit<4.2.0,>=4.1.0
24
+ Requires-Dist: pactkit<4.3.0,>=4.2.0
25
25
  Requires-Dist: tomli>=1.1.0; python_version < "3.11"
26
26
  Dynamic: license-file
27
27
 
@@ -1,4 +1,4 @@
1
- pactkit<4.2.0,>=4.1.0
1
+ pactkit<4.3.0,>=4.2.0
2
2
 
3
3
  [:python_version < "3.11"]
4
4
  tomli>=1.1.0
File without changes
File without changes
File without changes