5 Commits
Author SHA1 Message Date
Leadaxe 8c76ad2648 docs(spec-018): rewrite as multiplex arch; HISTORY.md; spec-structure rule
SPEC.md rewritten to current (multiplex) architecture, no chronology.
HISTORY.md captures v1 standalone class-error, the field bug, rejected paths.
New project rule (README + CONSTITUTION 3.2): SPEC.md = current state first,
chronology/rationale of architecture changes go to HISTORY.md.
2026-07-08 11:50:37 +03:00
Leadaxe 3a6dbfa7f3 docs(specs): amend CONSTITUTION (§3.6 libbox command extensions) + SPEC 014
CONSTITUTION: three owner principles (thin layer / follow upstream / build
what we+users need) wired into §1–2 as a priority hierarchy with a
necessary-not-sufficient lock; §3.1(а) rewritten from binary 'not in upstream'
to a three-prong test (needed by us/users / absent from OUR built channel /
cheaper than the alternative, with an auditable touched-file count); new §3.6
legalizes the 'libbox command-protocol extensions' change-class — handlers
gated by with_lx_command behind the proven started_service_usbip{,_stub}.go
pattern, .proto seam under a // lx: marker, .pb.go regenerated (never
hand-edited). §3.5 version bumped 1.13.13-lx.N → 1.14.0-lx.N.

SPEC 014: two CommandClient RPCs restoring what was lost when with_clash_api
was dropped — URLTestOutbound (per-node delay for outbound OR endpoint, custom
url + timeout, synchronous {delay,error}, all errors in payload) and GetRules
(route + DNS rule table snapshot). DNS-rules need a marked getter on
adapter.DNSRouter/dns.Router (route-only doesn't). Deterministic proto
regeneration (pinned protoc in Makefile.lx) is a mandatory deliverable. No
separate history RPC, no cancel-handle, no batch — those live in the client.
2026-06-24 03:24:10 +03:00
Leadaxe b54cda76ee docs(constitution): feature set may grow, thin-fork discipline is the invariant
Replace the hard 'exactly two features and nothing else' with a small
client-side feature set (currently XHTTP + AWG2). New features are
allowed over time if they meet the constitution criteria: not planned
upstream, isolated per §3.2-3.3 (new files, own build tag, marked
seams), full Spec Kit cycle. Mirrored in both READMEs and lx-config.md.
2026-06-12 13:21:11 +03:00
Leadaxe 94c7702cdc lx(docs): document Android libbox AAR (distribution + build)
CONSTITUTION §3.5: AAR as an Android distribution artifact (gomobile, with_xhttp/
with_awg baked in). lx-config.md: make lib_android command + AAR in CI/release.
README (en/ru): Android build note, lx-release row + AAR in layout, Android consumer.
2026-06-09 21:53:11 +03:00
Leadaxe 60a94bf0d7 lx(specs): bootstrap Spec Kit — constitution, prompt, roadmap, specs 001-004
Establish sing-box-lx as a thin downstream of SagerNet/sing-box:
upstream + exactly two client-side features (XHTTP transport, AmneziaWG 2.0
endpoint), gated behind build tags, kept rebaseable onto upstream tags.

- SPECS/CONSTITUTION.md, IMPLEMENTATION_PROMPT.md, README.md
- SPECS/001 FORK_BOOTSTRAP, 002 XHTTP_CLIENT_TRANSPORT,
  003 AWG2_CLIENT_ENDPOINT, 004 BUILD_CI_RELEASE
2026-06-09 14:31:11 +03:00