Skip to content

Commit 29ed9fb

Browse files
committed
bd sync: 2026-01-24 13:18:57
1 parent 30e874c commit 29ed9fb

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

.beads/issues.jsonl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1016,7 +1016,7 @@
10161016
{"id":"webrun-vcs-vou0","title":"Extract FNV-1a Hash Utilities","description":"Extract duplicated FNV-1a hash algorithm (9 copies) to shared utilities. Generic fnv1aHash in utils, VCS-specific wrappers in core.","status":"closed","priority":2,"issue_type":"epic","created_at":"2026-01-13T08:43:04.569217684+01:00","created_by":"kotelnikov","updated_at":"2026-01-13T09:03:35.474362902+01:00","closed_at":"2026-01-13T09:03:35.474362902+01:00","close_reason":"Closed","dependencies":[{"issue_id":"webrun-vcs-vou0","depends_on_id":"webrun-vcs-ty6o","type":"blocks","created_at":"2026-01-13T08:43:14.562818254+01:00","created_by":"kotelnikov"}]}
10171017
{"id":"webrun-vcs-vsd8","title":"Add blame CRLF handling tests","description":"Port JGit testCoreAutoCrlf1-5 scenarios for line ending handling","status":"closed","priority":2,"issue_type":"task","created_at":"2026-01-05T20:13:24.354742924+01:00","updated_at":"2026-01-05T20:44:02.480298653+01:00","closed_at":"2026-01-05T20:44:02.480298653+01:00","close_reason":"Added CRLF and merge conflict tests to blame-command.test.ts"}
10181018
{"id":"webrun-vcs-vt29","title":"Remove peer/ folder entirely","description":"## Remove peer/ Folder\n\nWith the new `socket/` layer, the `peer/` folder is redundant and should be removed entirely.\n\n### Rationale\n\nThe `socket/` layer provides everything needed for P2P scenarios:\n```typescript\n// P2P fetch - standard approach using socket layer\nconst socket = createBidirectionalSocket(wrapNativePort(port));\nconst connection = createGitSocketClient(socket, { path: \"/repo.git\" });\nconst result = await fetch({ connection });\n```\n\nNo P2P-specific wrappers needed - the socket layer is already generic.\n\n### Files to Remove\n\n```\npackages/transport/src/peer/\n├── port-git-stream.ts # Replaced by socket/bidirectional-socket.ts\n├── port-transport-connection.ts # Replaced by socket/client.ts\n├── p2p-operations.ts # Thin wrappers - not needed\n├── bidirectional-sync.ts # Review: move to operations/ if valuable\n├── error-recovery.ts # Review: covered by operations retry logic\n└── index.ts # Remove\n```\n\n### Test Files to Remove\n\n```\npackages/transport/tests/\n├── peer/ # Remove entire folder\n│ ├── port-git-stream.test.ts\n│ ├── p2p-operations.test.ts\n│ └── ...\n```\n\n### Migration Steps\n\n1. **Review bidirectional-sync.ts**\n - If logic is valuable, move to `operations/sync.ts`\n - Otherwise, remove\n\n2. **Review error-recovery.ts**\n - Check if covered by new retry logic in operations\n - If unique logic exists, move to `operations/`\n - Otherwise, remove\n\n3. **Update imports**\n - Search for imports from `../peer/` or `@statewalker/vcs-transport/peer`\n - Replace with imports from `socket/`\n\n4. **Remove peer/ folder**\n\n5. **Remove peer tests**\n\n6. **Update package.json exports**\n - Remove peer export if exists\n\n### Acceptance Criteria\n- [ ] peer/ folder completely removed\n- [ ] peer/ tests removed\n- [ ] No imports reference peer/\n- [ ] Valuable logic migrated to operations/ (if any)\n- [ ] Build passes\n- [ ] All remaining tests pass\n\n### Reference\nSee: notes/src/2026-01-20/11.transport-refactoring-proposal.md","status":"closed","priority":2,"issue_type":"task","created_at":"2026-01-20T23:21:53.84709256+01:00","created_by":"kotelnikov","updated_at":"2026-01-21T00:26:23.225662536+01:00","closed_at":"2026-01-21T00:26:23.225662536+01:00","close_reason":"Removed peer/ folder and all associated test files. Updated index.ts to export socket/ instead. 572 tests pass.","dependencies":[{"issue_id":"webrun-vcs-vt29","depends_on_id":"webrun-vcs-2x2x","type":"blocks","created_at":"2026-01-20T23:23:58.735927174+01:00","created_by":"kotelnikov"}]}
1019-
{"id":"webrun-vcs-vt54m","title":"Implement httpPush client function","description":"# Implement httpPush Client Function\n\n**Reference:** notes/src/2026-01-23/02-transport-fsm-migration-plan.md (Lines 918-982)\n**Epic:** webrun-vcs-zw2ac (Phase 4: Implement Missing Functionalities)\n\n## Task\nImplement HTTP push client in adapters/http/http-client.ts.\n\n## Interface: HttpPushOptions\n```typescript\ninterface HttpPushOptions {\n url: string;\n repository: RepositoryFacade;\n refspecs: string[];\n atomic?: boolean;\n pushOptions?: string[];\n credentials?: { username: string; password: string };\n headers?: Record\u003cstring, string\u003e;\n timeout?: number;\n onProgress?: (message: string) =\u003e void;\n}\n```\n\n## Implementation Steps\n1. Fetch info/refs from {url}/info/refs?service=git-receive-pack\n2. Handle non-OK response\n3. Create HTTP client duplex for pack exchange\n4. Call pushOverDuplex with options\n5. Return PushResult\n\n## Testing Requirements\n**IMPORTANT:** Write unit tests immediately after implementation.\n\nTests:\n- Successful push\n- Push with atomic option\n- Push with push-options\n- Authentication\n- Error handling\n\n## Acceptance Criteria\n- [ ] httpPush implemented\n- [ ] Unit tests written and passing","status":"in_progress","priority":1,"issue_type":"task","created_at":"2026-01-23T21:35:23.154287681+01:00","created_by":"kotelnikov","updated_at":"2026-01-24T13:14:59.383988646+01:00","dependencies":[{"issue_id":"webrun-vcs-vt54m","depends_on_id":"webrun-vcs-bojpw","type":"blocks","created_at":"2026-01-23T21:35:27.209339302+01:00","created_by":"kotelnikov"}]}
1019+
{"id":"webrun-vcs-vt54m","title":"Implement httpPush client function","description":"# Implement httpPush Client Function\n\n**Reference:** notes/src/2026-01-23/02-transport-fsm-migration-plan.md (Lines 918-982)\n**Epic:** webrun-vcs-zw2ac (Phase 4: Implement Missing Functionalities)\n\n## Task\nImplement HTTP push client in adapters/http/http-client.ts.\n\n## Interface: HttpPushOptions\n```typescript\ninterface HttpPushOptions {\n url: string;\n repository: RepositoryFacade;\n refspecs: string[];\n atomic?: boolean;\n pushOptions?: string[];\n credentials?: { username: string; password: string };\n headers?: Record\u003cstring, string\u003e;\n timeout?: number;\n onProgress?: (message: string) =\u003e void;\n}\n```\n\n## Implementation Steps\n1. Fetch info/refs from {url}/info/refs?service=git-receive-pack\n2. Handle non-OK response\n3. Create HTTP client duplex for pack exchange\n4. Call pushOverDuplex with options\n5. Return PushResult\n\n## Testing Requirements\n**IMPORTANT:** Write unit tests immediately after implementation.\n\nTests:\n- Successful push\n- Push with atomic option\n- Push with push-options\n- Authentication\n- Error handling\n\n## Acceptance Criteria\n- [ ] httpPush implemented\n- [ ] Unit tests written and passing","status":"closed","priority":1,"issue_type":"task","created_at":"2026-01-23T21:35:23.154287681+01:00","created_by":"kotelnikov","updated_at":"2026-01-24T13:18:52.748050712+01:00","closed_at":"2026-01-24T13:18:52.748050712+01:00","close_reason":"Implemented httpPush with authentication, atomic push, push-options, and progress callbacks. 11 new tests.","dependencies":[{"issue_id":"webrun-vcs-vt54m","depends_on_id":"webrun-vcs-bojpw","type":"blocks","created_at":"2026-01-23T21:35:27.209339302+01:00","created_by":"kotelnikov"}]}
10201020
{"id":"webrun-vcs-vvlk","title":"Verify no forbidden dependencies in examples","description":"Check that no example has dependencies outside the allowed list.\n\n**Allowed dependencies:**\n- @webrun-vcs/utils\n- @webrun-vcs/core\n- @webrun-vcs/transport\n- @webrun-vcs/commands\n\n**Check command:**\nfor app in apps/*/package.json; do\n echo \"=== $app ===\"\n grep -E \"@webrun-vcs/(vcs|storage-git)\" \"$app\" \u0026\u0026 echo \"FORBIDDEN!\" || echo \"OK\"\ndone\n\n**Success criteria:** No forbidden dependencies found in any example app.","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-25T11:16:32.072243576+01:00","updated_at":"2025-12-25T12:19:53.985942455+01:00","closed_at":"2025-12-25T12:19:53.985942455+01:00","close_reason":"Closed","dependencies":[{"issue_id":"webrun-vcs-vvlk","depends_on_id":"webrun-vcs-pzb","type":"blocks","created_at":"2025-12-25T11:16:39.787502818+01:00","created_by":"daemon"}]}
10211021
{"id":"webrun-vcs-vvo","title":"Move garbage collection to storage-git","description":"Move vcs/src/garbage-collection/ to storage-git/src/gc/. JGit refs: GC.java, PackInserter.java, PackStatistics.java, ObjectWalk.java.","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-22T00:22:18.267315161+01:00","updated_at":"2025-12-22T01:38:24.840787016+01:00","closed_at":"2025-12-22T01:38:24.840787016+01:00","close_reason":"Moved delta-compression and garbage-collection from vcs to storage-git. All 25 test suites passing.","dependencies":[{"issue_id":"webrun-vcs-vvo","depends_on_id":"webrun-vcs-5in","type":"blocks","created_at":"2025-12-22T00:24:07.70268959+01:00","created_by":"daemon"}]}
10221022
{"id":"webrun-vcs-vvq","title":"Export Repository interface from core","description":"Export the Repository interface and RepositoryConfig type from core.\n\n**Files to modify:**\n- packages/core/src/index.ts\n\n**Implementation:**\nAdd:\n```typescript\nexport * from \"./repository.js\";\n```\n\nThis exports:\n- Repository interface\n- RepositoryConfig interface\n\n**Verification:**\n- Import { Repository, RepositoryConfig } from \"@webrun-vcs/core\" should work","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-25T10:36:30.99963188+01:00","updated_at":"2025-12-25T10:50:38.715285205+01:00","closed_at":"2025-12-25T10:50:38.715285205+01:00","close_reason":"Closed"}

0 commit comments

Comments
 (0)