| feat: complete Jiuwen gateway and sandbox lifecycle integration Signed-off-by: neatline <fuyipeng3@huawei.com> | 15 天前 |
| fix(afs): keep shared runtime and release boundaries safe Use the persisted registration lease remaining lifetime with a conservative monotonic request-start cutoff; retain expired-session and epoch fail-closed handling. Keep jemalloc while validating OwnerFs-only and mixed Node runtime. Synchronize packaged defaults, isolate DFS-only code, initialize TLS locally, and carry allocator notices through the existing AFS package notice. A deterministic regression also exposed cache namespace lock retention through a duplicated open-file description. Join the cache worker before explicit unlock and retain OS error details, without retry or budget changes. Constraint: Preserve authorization, complete BLAKE3, fsync, close-to-open and independent S3 budgets; do not modify public build/CI code or third-party sources. Rejected: Swallow every authorization refresh failure or disable jemalloc | this changes the agreed lifecycle or allocator contract. Confidence: high Scope-risk: moderate Directive: Upgrade Meta and Node together; missing relative lease lifetime fails closed. Keep historical performance evidence tied to its original candidate. Tested: Fixed Linux ARM image; library1020 passed/32 ignored, six contract suites114 passed/2 ignored, allocator3; default AFS and strict workspace lint, feature-specific lint, fmt, GNU release; release tools34; real OwnerFs-only and mixed modes70 checks each with12 normal exits and jemalloc metrics; docs and diff. Not-tested: No new DFS performance, real clock-step/partition fault matrix, bind ON extension, full POSIX, unified release/install, x86/musl, hardware RDMA or full CI/CD. Original intermittent cache-lock failure's fork source remains unproven; deterministic lifecycle regression passes. Signed-off-by: luozhancheng <luozhancheng@huawei.com> | 13 天前 |
| feat: complete Jiuwen gateway and sandbox lifecycle integration Signed-off-by: neatline <fuyipeng3@huawei.com> | 15 天前 |
| feat(afs): make published DFS data readable through external S3 storage Allow independent DFS nodes to read committed data without a live writer. Select external durability when initializing a filesystem and retain the Node-replicated path when no external backend is configured. Keep bounded publication, immutable payload accounting, verified content caching and close-to-open read authority within their existing correctness contracts. Keep third-party service deployment and experimental collectors outside the product tree. Consolidate connection, architecture and acceptance documents around supported behavior and explicit limits. Refs: #15 Constraint: Preserve successful fsync, complete BLAKE3, permissions, bounded authorization and fail-closed drain while following current master engineering. Rejected: Bundle SeaweedFS deployment or use performance experiments as the product acceptance gate | external services and performance investigation have separate ownership. Confidence: high Scope-risk: moderate Directive: External mode is single-local-copy; caches are disposable and metadata durability remains independently required. Preserve original candidate evidence identities. Tested: Fixed public Linux ARM image; external92/read55 focused tests; DFS library593 passed/1 existing ignored; config14, Meta59/2 ignored, REST7; fmt and strict workspace all-targets/all-features Clippy; release bins; same-binary three-VM 64MiB publish/read, permissions, failed-upload retry, sparse/truncate, writer-exit source read, local-file normal restart and clean exits; docs/render/diff checks. Not-tested: Complete POSIX, crash/HA, immediate new-session write takeover, P2P/reference-aware object GC, new unified ON installation package or performance qualification. Signed-off-by: luozhancheng <luozhancheng@huawei.com> | 16 天前 |
| fix(afs): keep shared runtime and release boundaries safe Use the persisted registration lease remaining lifetime with a conservative monotonic request-start cutoff; retain expired-session and epoch fail-closed handling. Keep jemalloc while validating OwnerFs-only and mixed Node runtime. Synchronize packaged defaults, isolate DFS-only code, initialize TLS locally, and carry allocator notices through the existing AFS package notice. A deterministic regression also exposed cache namespace lock retention through a duplicated open-file description. Join the cache worker before explicit unlock and retain OS error details, without retry or budget changes. Constraint: Preserve authorization, complete BLAKE3, fsync, close-to-open and independent S3 budgets; do not modify public build/CI code or third-party sources. Rejected: Swallow every authorization refresh failure or disable jemalloc | this changes the agreed lifecycle or allocator contract. Confidence: high Scope-risk: moderate Directive: Upgrade Meta and Node together; missing relative lease lifetime fails closed. Keep historical performance evidence tied to its original candidate. Tested: Fixed Linux ARM image; library1020 passed/32 ignored, six contract suites114 passed/2 ignored, allocator3; default AFS and strict workspace lint, feature-specific lint, fmt, GNU release; release tools34; real OwnerFs-only and mixed modes70 checks each with12 normal exits and jemalloc metrics; docs and diff. Not-tested: No new DFS performance, real clock-step/partition fault matrix, bind ON extension, full POSIX, unified release/install, x86/musl, hardware RDMA or full CI/CD. Original intermittent cache-lock failure's fork source remains unproven; deterministic lifecycle regression passes. Signed-off-by: luozhancheng <luozhancheng@huawei.com> | 13 天前 |
| fix(platform): report create timeout phases Preserve phase-specific deadline failures through create RPCs, public errors and replay. Keep the absolute execution deadline while allowing bounded failure reporting and reconciliation. Refs inclusionAI/AKernel#96. Signed-off-by: robbluo <luo1442@gmail.com> | 15 天前 |
| fix(afs): keep shared runtime and release boundaries safe Use the persisted registration lease remaining lifetime with a conservative monotonic request-start cutoff; retain expired-session and epoch fail-closed handling. Keep jemalloc while validating OwnerFs-only and mixed Node runtime. Synchronize packaged defaults, isolate DFS-only code, initialize TLS locally, and carry allocator notices through the existing AFS package notice. A deterministic regression also exposed cache namespace lock retention through a duplicated open-file description. Join the cache worker before explicit unlock and retain OS error details, without retry or budget changes. Constraint: Preserve authorization, complete BLAKE3, fsync, close-to-open and independent S3 budgets; do not modify public build/CI code or third-party sources. Rejected: Swallow every authorization refresh failure or disable jemalloc | this changes the agreed lifecycle or allocator contract. Confidence: high Scope-risk: moderate Directive: Upgrade Meta and Node together; missing relative lease lifetime fails closed. Keep historical performance evidence tied to its original candidate. Tested: Fixed Linux ARM image; library1020 passed/32 ignored, six contract suites114 passed/2 ignored, allocator3; default AFS and strict workspace lint, feature-specific lint, fmt, GNU release; release tools34; real OwnerFs-only and mixed modes70 checks each with12 normal exits and jemalloc metrics; docs and diff. Not-tested: No new DFS performance, real clock-step/partition fault matrix, bind ON extension, full POSIX, unified release/install, x86/musl, hardware RDMA or full CI/CD. Original intermittent cache-lock failure's fork source remains unproven; deterministic lifecycle regression passes. Signed-off-by: luozhancheng <luozhancheng@huawei.com> | 13 天前 |
| feat: complete Jiuwen gateway and sandbox lifecycle integration Signed-off-by: neatline <fuyipeng3@huawei.com> | 15 天前 |
| fix(execd): validate binary hex before decoding and reject bad fs_write data fs_write_chunk decodes client-supplied hex with decode_hex(), but decode_hex slices by byte offsets without first checking ASCII: a payload such as "a€" (valid UTF-8, even byte length) panics on a non-char-boundary inside the request handler instead of returning an error. fs_write does not use the helper at all — its filter_map silently drops malformed pairs and reports error: nil, so the same invalid payload produces a truncated file with a success response while the chunked path rejects it. Reject non-hex bytes before slicing, and route fs_write's binary payload through decode_hex, returning the existing {path,name,type,size,error} shape without creating a file on failure. | 13 天前 |
| fix(ci): download pinned sandboxd bundles from OBS Replace repeated Buildkite backend-file downloads with one immutable OBS archive. Verify its size and SHA256, sandboxd revision, complete file set, per-file digests and native ELF architecture before atomically installing the backend. Cover corrupted, incompatible and unsafe bundles and download failures. Keep source rebuilds as an explicit maintenance tool and document the archive pin. Signed-off-by: robbluo <luo1442@gmail.com> | 17 天前 |
| chore(release): prepare Python packages for 0.1.0rc2 Signed-off-by: robbluo <luo1442@gmail.com> | 18 天前 |
| feat(platform): complete sandbox runtime capabilities Carry typed rootfs, mount, network, data-plane security, resource-limit, failover, and entrypoint options through the public API and Instance control path. Extend Node Manager, sandboxd/Firecracker integration, RRT, and the Python SDK for the corresponding lifecycle and data-plane operations. Expand standalone and Firecracker acceptance coverage, backend provenance, and operator documentation for the supported contract. Signed-off-by: robbluo <luo1442@gmail.com> | 1 个月前 |
| feat: complete Jiuwen gateway and sandbox lifecycle integration Signed-off-by: neatline <fuyipeng3@huawei.com> | 15 天前 |
| refactor: unify Environment APIs, SDK and deployment tooling Expose adx-environment 0.1.0rc1, adx_environment.Environment and the public /api/environment/v1/environments contract with environmentId. Adapt Agent, Gateway, platform execution types and protocols, SDK callers, examples, deployment configuration and observability to the Environment model. Align Buildkite labels and artifact paths, and share repository release-tag gates across SDK and admin while keeping package versions independent. Include adx-activator in release packages and add real standalone and embedded Activator deployment acceptance. Correct documentation, SVG diagrams, English language consistency and external protocol references. Preserve the external sandboxd API and AKernel's public Sandbox interface. Validate on refactor@0011cfb with fmt, strict Clippy, unwrap policy, 849 Rust tests and 19 crate doctest gates; 293 SDK tests plus 89 subtests, 22 admin tests, and OpenAPI, documentation and CI contracts. Real Activator acceptance passed 9/9 cases per mode, and AKernel passed 17 runsc E2E groups with zero skips using the prior cd3e38e artifact snapshot. Deployment acceptance and release assembly were not rerun after rebase. Signed-off-by: robbluo <luo1442@gmail.com> | 17 天前 |
| fix(afs): keep shared runtime and release boundaries safe Use the persisted registration lease remaining lifetime with a conservative monotonic request-start cutoff; retain expired-session and epoch fail-closed handling. Keep jemalloc while validating OwnerFs-only and mixed Node runtime. Synchronize packaged defaults, isolate DFS-only code, initialize TLS locally, and carry allocator notices through the existing AFS package notice. A deterministic regression also exposed cache namespace lock retention through a duplicated open-file description. Join the cache worker before explicit unlock and retain OS error details, without retry or budget changes. Constraint: Preserve authorization, complete BLAKE3, fsync, close-to-open and independent S3 budgets; do not modify public build/CI code or third-party sources. Rejected: Swallow every authorization refresh failure or disable jemalloc | this changes the agreed lifecycle or allocator contract. Confidence: high Scope-risk: moderate Directive: Upgrade Meta and Node together; missing relative lease lifetime fails closed. Keep historical performance evidence tied to its original candidate. Tested: Fixed Linux ARM image; library1020 passed/32 ignored, six contract suites114 passed/2 ignored, allocator3; default AFS and strict workspace lint, feature-specific lint, fmt, GNU release; release tools34; real OwnerFs-only and mixed modes70 checks each with12 normal exits and jemalloc metrics; docs and diff. Not-tested: No new DFS performance, real clock-step/partition fault matrix, bind ON extension, full POSIX, unified release/install, x86/musl, hardware RDMA or full CI/CD. Original intermittent cache-lock failure's fork source remains unproven; deterministic lifecycle regression passes. Signed-off-by: luozhancheng <luozhancheng@huawei.com> | 13 天前 |
| refactor(afs): make component paths reflect the filesystem boundary Name the overall component AFS while retaining OwnerFs and DFS as peer modes. Move the component, general acceptance tools and active documentation together; keep Rust contents and archived fixture bytes unchanged. Constraint: Preserve DFS mode APIs and historical test identities; run Rust checks only on Linux. Rejected: Renaming every dfs symbol | would erase the actual DFS mode boundary. Confidence: high Scope-risk: narrow Directive: Use afs for component entry points and dfs only for DFS mode semantics. Tested: Linux locked metadata, fmt, AFS build, strict workspace all-targets all-features Clippy; focused Python suites; documentation and byte identity checks. Not-tested: Full release, installation and runtime matrix were not rerun for the path-only candidate; previous evidence retains its original version. Signed-off-by: luozhancheng <luozhancheng@huawei.com> | 21 天前 |
| !8 fix: support namespaced ar agent urns From: @neatline Reviewed-by: @slichengsong | 3 个月前 |
| refactor: unify Environment APIs, SDK and deployment tooling Expose adx-environment 0.1.0rc1, adx_environment.Environment and the public /api/environment/v1/environments contract with environmentId. Adapt Agent, Gateway, platform execution types and protocols, SDK callers, examples, deployment configuration and observability to the Environment model. Align Buildkite labels and artifact paths, and share repository release-tag gates across SDK and admin while keeping package versions independent. Include adx-activator in release packages and add real standalone and embedded Activator deployment acceptance. Correct documentation, SVG diagrams, English language consistency and external protocol references. Preserve the external sandboxd API and AKernel's public Sandbox interface. Validate on refactor@0011cfb with fmt, strict Clippy, unwrap policy, 849 Rust tests and 19 crate doctest gates; 293 SDK tests plus 89 subtests, 22 admin tests, and OpenAPI, documentation and CI contracts. Real Activator acceptance passed 9/9 cases per mode, and AKernel passed 17 runsc E2E groups with zero skips using the prior cd3e38e artifact snapshot. Deployment acceptance and release assembly were not rerun after rebase. Signed-off-by: robbluo <luo1442@gmail.com> | 17 天前 |
| feat(adxlet): reuse local checkpoints with a bounded LRU cache Signed-off-by: robbluo <luo1442@gmail.com> | 15 天前 |
| refactor: unify Environment APIs, SDK and deployment tooling Expose adx-environment 0.1.0rc1, adx_environment.Environment and the public /api/environment/v1/environments contract with environmentId. Adapt Agent, Gateway, platform execution types and protocols, SDK callers, examples, deployment configuration and observability to the Environment model. Align Buildkite labels and artifact paths, and share repository release-tag gates across SDK and admin while keeping package versions independent. Include adx-activator in release packages and add real standalone and embedded Activator deployment acceptance. Correct documentation, SVG diagrams, English language consistency and external protocol references. Preserve the external sandboxd API and AKernel's public Sandbox interface. Validate on refactor@0011cfb with fmt, strict Clippy, unwrap policy, 849 Rust tests and 19 crate doctest gates; 293 SDK tests plus 89 subtests, 22 admin tests, and OpenAPI, documentation and CI contracts. Real Activator acceptance passed 9/9 cases per mode, and AKernel passed 17 runsc E2E groups with zero skips using the prior cd3e38e artifact snapshot. Deployment acceptance and release assembly were not rerun after rebase. Signed-off-by: robbluo <luo1442@gmail.com> | 17 天前 |
| fix(afs): keep shared runtime and release boundaries safe Use the persisted registration lease remaining lifetime with a conservative monotonic request-start cutoff; retain expired-session and epoch fail-closed handling. Keep jemalloc while validating OwnerFs-only and mixed Node runtime. Synchronize packaged defaults, isolate DFS-only code, initialize TLS locally, and carry allocator notices through the existing AFS package notice. A deterministic regression also exposed cache namespace lock retention through a duplicated open-file description. Join the cache worker before explicit unlock and retain OS error details, without retry or budget changes. Constraint: Preserve authorization, complete BLAKE3, fsync, close-to-open and independent S3 budgets; do not modify public build/CI code or third-party sources. Rejected: Swallow every authorization refresh failure or disable jemalloc | this changes the agreed lifecycle or allocator contract. Confidence: high Scope-risk: moderate Directive: Upgrade Meta and Node together; missing relative lease lifetime fails closed. Keep historical performance evidence tied to its original candidate. Tested: Fixed Linux ARM image; library1020 passed/32 ignored, six contract suites114 passed/2 ignored, allocator3; default AFS and strict workspace lint, feature-specific lint, fmt, GNU release; release tools34; real OwnerFs-only and mixed modes70 checks each with12 normal exits and jemalloc metrics; docs and diff. Not-tested: No new DFS performance, real clock-step/partition fault matrix, bind ON extension, full POSIX, unified release/install, x86/musl, hardware RDMA or full CI/CD. Original intermittent cache-lock failure's fork source remains unproven; deterministic lifecycle regression passes. Signed-off-by: luozhancheng <luozhancheng@huawei.com> | 13 天前 |
| fix: implement AgentRuntime Python SDK event logging Add the Python SDK bootstrap, request context, streaming output, EventLog persistence, turn lifecycle, and DataSystem-backed storage needed by agent functions. Keep startup failures available for invocation-time reporting, use a shared event loop, enforce session ownership, and validate persisted records so runtime failures remain controlled. Canonicalize cross-language key hashing for HTML and Unicode separator characters, align function metadata fixtures with the leaf-name contract, and add packaging, documentation, and unit coverage. Co-Authored-By: GPT-5 Signed-off-by: neatline <fuyipeng3@huawei.com> | 2 个月前 |
| refactor: unify Environment APIs, SDK and deployment tooling Expose adx-environment 0.1.0rc1, adx_environment.Environment and the public /api/environment/v1/environments contract with environmentId. Adapt Agent, Gateway, platform execution types and protocols, SDK callers, examples, deployment configuration and observability to the Environment model. Align Buildkite labels and artifact paths, and share repository release-tag gates across SDK and admin while keeping package versions independent. Include adx-activator in release packages and add real standalone and embedded Activator deployment acceptance. Correct documentation, SVG diagrams, English language consistency and external protocol references. Preserve the external sandboxd API and AKernel's public Sandbox interface. Validate on refactor@0011cfb with fmt, strict Clippy, unwrap policy, 849 Rust tests and 19 crate doctest gates; 293 SDK tests plus 89 subtests, 22 admin tests, and OpenAPI, documentation and CI contracts. Real Activator acceptance passed 9/9 cases per mode, and AKernel passed 17 runsc E2E groups with zero skips using the prior cd3e38e artifact snapshot. Deployment acceptance and release assembly were not rerun after rebase. Signed-off-by: robbluo <luo1442@gmail.com> | 17 天前 |
| fix(ci): reuse the Rust 1.95 builder and configure persistent Cargo caches Signed-off-by: robbluo <luo1442@gmail.com> | 1 个月前 |
| refactor(rust): enforce workspace coding guidelines | 1 个月前 |