feat(slice5): POST .../meta/bulk one-commit bulk metadata edit (§22.4a PUC-2)
set/add/remove ops reusing the SLICE-4 sidecar write-through; per-entry partial-rejection; contributor+ gated (INV-4); validated at the write boundary. Tests cover one-commit, add/remove, partial reject, authz, and op/field/empty guards. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -54,6 +54,9 @@ class FakeGitea:
|
||||
self.repos: set[tuple[str, str]] = set()
|
||||
self._pr_counter = 0
|
||||
self._commit_counter = 0
|
||||
# count of batch ChangeFiles commits (one per /contents POST with a
|
||||
# files[] array) — lets tests assert "N files, one commit" (§22.4a D7).
|
||||
self.change_files_calls = 0
|
||||
self._seed_repo("wiggleverse", "meta")
|
||||
# §22 M3: the deployment's project registry. Startup refresh_registry
|
||||
# reads projects.yaml here; the single 'default' project's content_repo
|
||||
@@ -288,6 +291,7 @@ class FakeGitea:
|
||||
if method == "POST" and m_batch:
|
||||
owner, repo = m_batch.groups()
|
||||
branch = payload["branch"]
|
||||
self.change_files_calls += 1
|
||||
sha = self._next_sha()
|
||||
for f in payload["files"]:
|
||||
op = f["operation"]
|
||||
|
||||
Reference in New Issue
Block a user