Alexandre Teixeira
95416cdbfb
Merge pull request #27 from o3LL/audit/ref-parity
...
chore(tools): add a read-only ref-to-ref parity audit
2026-10-01 02:45:38 +01:00
Alexandre Teixeira
ef0d96a3ae
Merge lab into audit/ref-parity
2026-10-01 02:45:10 +01:00
Alexandre Teixeira
fe7297547c
Merge pull request #38 from o3LL/test/runtime-behavior-regressions
...
test(runtime): pin negative capability wording, test-only
2026-10-01 02:42:50 +01:00
Alexandre Teixeira
8c7e3a9411
Merge lab into test/runtime-behavior-regressions
2026-10-01 02:42:22 +01:00
Alexandre Teixeira
1dca85cb07
Merge pull request #37 from o3LL/fix/token-cache-atomic-swap
...
fix(auth): swap the API token cache atomically instead of clearing it
2026-10-01 02:42:09 +01:00
Alexandre Teixeira
45e1e2e7d9
Merge lab into fix/token-cache-atomic-swap
2026-10-01 02:41:41 +01:00
Alexandre Teixeira
bf76c9c608
Merge pull request #36 from o3LL/fix/6174-singleflight-cancel
...
fix(tasks): clean up the singleflight cache on cancellation
2026-10-01 02:28:18 +01:00
Alexandre Teixeira
b0bc0b8c40
Merge lab into fix/6174-singleflight-cancel
2026-10-01 02:27:49 +01:00
Alexandre Teixeira
236baea232
Merge pull request #33 from o3LL/refactor/email-library-package
...
refactor(email): decompose emailLibrary.js into a package behind a re-export wrapper
2026-10-01 02:23:56 +01:00
Alexandre Teixeira
799adbbde6
Merge lab into refactor/email-library-package
2026-10-01 02:22:23 +01:00
Alexandre Teixeira
eef390b9ae
Merge pull request #22 from o3LL/refactor/routes-email-subpackage
...
refactor(routes): move the email modules into routes/email/
2026-10-01 02:17:29 +01:00
Alexandre Teixeira
9477616e05
Merge lab into refactor/routes-email-subpackage
2026-10-01 02:15:36 +01:00
Alexandre Teixeira
b35010c3d1
Merge pull request #24 from o3LL/refactor/settings-shell-modules
...
refactor(settings): move the shell out of settings.js into settings/
2026-10-01 01:42:18 +01:00
Alexandre Teixeira
33387d4a4c
Merge lab into refactor/settings-shell-modules
2026-10-01 01:41:27 +01:00
Alexandre Teixeira
290bb0d61d
Merge pull request #23 from o3LL/refactor/settings-panel-modules
...
refactor(settings): extract four panels into settings/ modules
2026-10-01 01:08:58 +01:00
Alexandre Teixeira
86212bfe99
Merge lab into refactor/settings-panel-modules
2026-10-01 01:03:49 +01:00
Alexandre Teixeira
0f23439a31
Merge pull request #20 from o3LL/refactor/split-style-css
...
refactor(css): split style.css into ordered fragments
2026-10-01 00:55:35 +01:00
Alexandre Teixeira
23fdc26079
Merge lab into refactor/split-style-css
2026-10-01 00:48:58 +01:00
Alexandre Teixeira
0a88b3c322
Merge pull request #31 from o3LL/test/document-module-set-helper
...
test(document): read the editor through a module-set helper before it is split
2026-09-30 22:59:49 +01:00
Alexandre Teixeira
40dbe17a95
Merge lab into test/document-module-set-helper
...
Resolve the overlap with #19 by preserving the whole-cascade stylesheet
helpers alongside #31 's document-source/module-set helpers.
Maintainer validation:
- document/module contract and composition guards: 15 passed
- all 54 touched Python test modules: 366 passed
- py_compile: clean
- git diff --check: clean
2026-09-30 22:56:56 +01:00
Alexandre Teixeira
741f5dff2b
Merge pull request #19 from o3LL/refactor/tests-read-the-whole-cascade
...
refactor(tests): read the whole cascade instead of style.css alone
2026-09-30 19:27:58 +01:00
Alexandre Teixeira
6ee51fee72
Merge pull request #18 from o3LL/fix/duplicate-keyframes
...
fix(css): collapse duplicate @keyframes names to the definition that wins
2026-09-30 19:18:13 +01:00
Alexandre Teixeira
a969a68016
Merge pull request #34 from o3LL/test/macos-failures-and-stub-leak-guard
...
test: fix environment-dependent failures and guard module-stub leaks
2026-09-30 19:16:43 +01:00
Alexandre Teixeira
56484df737
test(media): detect ffmpeg encoders by codec alias
2026-09-30 19:16:29 +01:00
Alexandre Teixeira
eaddc03729
Merge pull request #26 from o3LL/fix/tmp-realpath-test-bugs
...
fix(tests): resolve temp paths consistently on macOS
2026-09-30 18:21:04 +01:00
Alexandre Teixeira
bfae249120
Merge pull request #28 from o3LL/fix/cookbook-stop-procfs-guard
...
fix(cookbook): skip the pid sweep when the host has no procfs
2026-09-30 18:07:07 +01:00
Alexandre Teixeira
054df080af
Merge pull request #32 from o3LL/fix/6215-mcp-args-validation
...
fix(mcp): reject malformed Args on Add MCP Server instead of defaulting to []
2026-09-30 17:18:51 +01:00
Alexandre Teixeira
11ecf46abb
Merge pull request #30 from o3LL/fix/6228-tailscale-empty-lookup-cache
...
fix(discovery): cache a successful but empty Tailscale lookup
2026-09-30 17:05:16 +01:00
Alexandre Teixeira
6105702901
Merge pull request #16 from o3LL/lane/decomposition-and-test-isolation
...
refactor(lane): decompose style.css, pin it with a computed-style harness, and isolate worktree runs
2026-09-29 14:54:36 +01:00
Alexandre Teixeira
65c35c8211
Merge pull request #15 from o3LL/fix/test-static-port-isolation
...
test(harness): bind the static test server to an ephemeral port
2026-09-29 14:54:18 +01:00
Alexandre Teixeira
956671a731
Merge pull request #14 from o3LL/fix/proc-guard-private-browser
...
fix(browser): skip the Chrome sweep when the host has no procfs
2026-09-29 14:54:00 +01:00
Alexandre Teixeira
aafd8a98eb
Merge pull request #13 from o3LL/v1/css-split-3
...
refactor(css): move cookbook, research, memory and settings styles to their own file
2026-09-29 14:53:44 +01:00
Alexandre Teixeira
0e07d9a675
Merge pull request #10 from o3LL/fix/review-20260923-bound-outbound-and-draft-limits
...
fix(security): harden scholarly lookups and editor draft limits
2026-09-24 12:22:04 +01:00
Alexandre Teixeira
11ad4e2739
fix(url-safety): resolve NAT64 well-known prefix to IPv4 target
...
The R09 scholarly hardening routes every hop through check_outbound_url with
block_private=True. On a DNS64/NAT64 network, an IPv4-only host can resolve
through the RFC 6052 Well-Known Prefix. For example, export.arxiv.org resolved
to 64:ff9b::924b:5b2a in the reproduced environment.
CPython classifies that outer IPv6 prefix as reserved, so the URL guard rejected
the request before examining the effective IPv4 destination.
Decode addresses in exactly 64:ff9b::/96 to their embedded IPv4 destination and
evaluate that destination under the strict outbound policy.
The translated target is always checked with private-address blocking enabled.
This prevents the NAT64 prefix from becoming a path to loopback, private,
shared/CGNAT, link-local, multicast, unspecified, or other non-global IPv4
space.
Network-specific translation prefixes are not decoded. In particular,
64:ff9b:1::/48 remains subject to the existing IPv6 policy.
Coverage includes:
- public IPv4 destinations embedded through the RFC 6052 prefix
- loopback, link-local, private, CGNAT, multicast, unspecified, benchmark, and
TEST-NET rejection
- network-specific NAT64 prefixes remaining undecoded
- deterministic scholarly provider tests without live DNS dependence
- redirect query parameter isolation
- relative redirect resolution
- HTTP error fallback behavior
- editor draft GET and DELETE behavior remaining unaffected
R09, R11, and R01 were independently audited and otherwise left unchanged.
2026-09-23 15:32:04 +01:00
Alexandre Teixeira
0784cd2fed
fix(review): harden scholarly redirects, editor draft limits, and threat model
...
- Enforce outbound URL policy on all hops via bounded manual redirects in scholarly lookups
- Guard declared Content-Length in EditorDraftRoute before request body parsing
- Keep scholarly lookup timeouts and budgets as internal constants rather than surface env vars
- Narrow TUI threat-model description around demonstrable host shell bridge behavior
- Add behavioral regression tests for redirect security and pre-parsing body size guards
2026-09-23 12:53:06 +01:00
Alexandre Teixeira
c90a81dbdc
Merge commit '14afd3afb6274ff986733ddff992001e19c80e29' into fix/pr10-merge-ready
2026-09-23 12:29:27 +01:00
Alexandre Teixeira
f577934777
fix(ci): restore green lab baseline before runtime W1 ( #9 )
...
Validated locally and on GitHub Actions before integration into lab.
2026-09-23 10:16:54 +01:00
Alexandre Teixeira
771d48f147
ci: install FFmpeg for media integration tests
2026-09-23 01:08:20 +01:00
Alexandre Teixeira
3cabbb9bca
test(agent): restore exact turn-policy regressions
2026-09-23 00:14:30 +01:00
Alexandre Teixeira
c0b71a5cef
fix(tools): constrain Python environment namespace mount
2026-09-23 00:10:50 +01:00
Alexandre Teixeira
0012baa17c
ci(trivy): free build cache before image scan
2026-09-22 23:27:29 +01:00
Alexandre Teixeira
c0a1cecc00
test(baseline): align UI and model profile expectations
2026-09-22 23:27:17 +01:00
Alexandre Teixeira
9bc1cdcab0
test(harness): isolate imports and stabilize browser and DNS fixtures
2026-09-22 23:27:08 +01:00
Alexandre Teixeira
4520b4f6f0
fix(ui): restore rich text controls and accessible research map
2026-09-22 23:26:43 +01:00
Alexandre Teixeira
b9cccb93ac
fix(tools): expose active Python environment in workspace namespace
2026-09-22 23:26:28 +01:00
Alexandre Teixeira
79a55fac38
fix(agent): preserve focused turn contracts and verified completion
2026-09-22 23:26:16 +01:00
Alexandre Teixeira
128102ef26
test(runtime): isolate tool execution module state
2026-09-22 18:17:42 +01:00
Alexandre Teixeira
5568d7d631
fix(sw): complete editor panel precache
2026-09-22 18:09:04 +01:00
Alexandre Teixeira
83088f8811
ci: provision browser dependencies for pytest
2026-09-22 18:08:16 +01:00
Alexandre Teixeira
ebcc6c524f
test(database): restore model endpoint isolation
2026-09-22 18:07:09 +01:00
Alexandre Teixeira
dbba4978ee
test(harness): support cache-busted frontend module imports
2026-09-22 18:06:18 +01:00
Alexandre Teixeira
7e798fe925
Merge pull request #6 from pewdiepie-archdaemon/pr/alteixeira20/subscription-provider-ux
...
feat(provider): improve subscription UX and lazy discovery
2026-09-22 14:02:55 +01:00
Alexandre Teixeira
8bb48780a1
feat(provider): add lazy Featherless model discovery
2026-09-22 13:12:19 +01:00
Alexandre Teixeira
2b2bf0fb90
fix(ui): refine provider endpoint controls
2026-09-22 13:12:19 +01:00
Alexandre Teixeira
46c8451a29
fix(ui): bust cache for collapsible subscription usage
2026-09-22 13:12:19 +01:00
Alexandre Teixeira
411559913c
feat(ui): refine subscription model and usage controls
2026-09-22 13:12:19 +01:00
Alexandre Teixeira
ed7ccfd584
feat(provider): support multiple ChatGPT subscriptions with usage
2026-09-22 13:12:19 +01:00
Alexandre Teixeira
45330097b8
Merge pull request #7 from pewdiepie-archdaemon/fix/maintainer-harness-ci-reproducibility-v1
...
fix(ci): make maintainer harness and lab workflow portable
2026-09-22 12:44:20 +01:00
Alexandre Teixeira
dd13f53507
ci: support maintainer lab pull requests
2026-09-22 12:39:14 +01:00
Alexandre Teixeira
822ceaaac4
fix(ci): make maintainer harness contract self-contained and portable
2026-09-22 11:31:45 +01:00
Alexandre Teixeira
cee319050c
refactor(settings): add registry-backed navigation and finder ( #6040 )
...
* refactor(settings): add modular shell primitives
* refactor(settings): wire modular shell
* test(settings): exercise real coordinator ESM boundary
* refactor(settings): add registry-backed settings finder
* fix(settings): harden registry navigation behavior
2026-08-16 02:48:19 +01:00
Alexandre Teixeira and RaresKeY
9c71948376
fix(companion): honor configured pairing address ( #6060 )
...
* fix(companion): honor configured pairing origin
* fix(companion): keep configured pairing on v1 LAN contract
* fix(companion): reject numeric pairing hosts
---------
Co-authored-by: RaresKeY <158580472+RaresKeY@users.noreply.github.com >
2026-08-15 21:11:10 +02:00
c4369305f0
refactor(model-routing): centralize explicit foreground fallback policy ( #6020 )
...
* refactor(model-routing): centralize explicit foreground fallback policy
Make foreground fallback an explicit per-user, availability-only policy shared by streaming Chat, non-stream Chat, and Agent runs.
Preserve strict defaults, owner/model and credential boundaries, pinned Agent routes, and truthful per-round provenance/accounting. Carry provider-reported model identifiers through native streaming adapters, non-stream responses, and caches, and keep legacy default_model_fallbacks as tombstoned raw storage that generic settings APIs and agent tools cannot expose or mutate.
* fix(agent-loop): restore rebase-dropped qwen routing, workspace prompt, and temperature clamp
* fix(model-routing): thread selected endpoint identity, fix cost classification and fallback eligibility
* fix(chat): restore stream helpers and harden run stop lifecycle
* fix(model-routing): let numeric provider codes win over symbolic rate-limit statuses
* fix(agent-loop): apply qwen temperature and notes-tool clamps per fallback candidate
* fix(chat): honor queued stop across resend and reload canonical terminal on EOF
* fix(chat): track stop queue and cleanup ownership by per-send generation
* fix(agent-loop): preserve requested temperature for non-qwen fallback candidates
* fix(chat): reserve send ownership before any await and scope stop to the current send
* fix(chat): clear the previous run identity at send reservation
---------
Co-authored-by: RaresKeY <158580472+RaresKeY@users.noreply.github.com >
Co-authored-by: StressTestor <212606152+StressTestor@users.noreply.github.com >
2026-08-14 08:10:30 +01:00
Alexandre Teixeira
e466b02f1a
fix(security): make research path lookup CodeQL-friendly ( #5129 )
...
* fix(security): make research path lookup CodeQL-friendly
* fix(security): avoid duplicate research path scans
* fix(research): preserve active completed spinoff query
2026-07-04 20:17:45 +02:00
Alexandre Teixeira
5b4ed45e69
Merge pull request #5195 from ashvinctrl/fix/send-to-session-null-owner
...
fix(security): scope send_to_session to an exact session owner
2026-07-04 16:47:10 +01:00
Alexandre Teixeira
972c2d6c62
ci: add focused test guidance signal ( #4982 )
...
* ci: add focused test guidance signal
* ci: diff focused guidance from merge base
2026-07-03 21:17:28 +02:00
Alexandre Teixeira
667cc4e2fa
test: split service health tests ( #4972 )
...
* test: split service health tests
* test(service-health): preserve focus selector
2026-07-03 20:50:49 +02:00
Alexandre Teixeira
a24e749404
fix(security): confine research file paths ( #4986 )
2026-07-02 11:58:35 +01:00
Alexandre Teixeira
e86ccae0db
fix(docker): make host Docker socket opt-in ( #4902 )
...
* fix(docker): make host socket compose opt-in
* fix(cookbook): gate container Docker access
* fix(docker): gate socket group setup on opt-in
* fix(cookbook): gate generated docker exec serve commands
* fix(cookbook): narrow generated docker exec forms
2026-06-30 19:54:51 +02:00
Alexandre Teixeira
4c7db7c216
fix(security): harden gallery endpoint URL checks ( #4981 )
...
Replace substring OpenAI endpoint detection with exact parsed-host matching.
Route gallery image endpoint construction through a constant path allowlist.
Remove client-visible exception and upstream response body leaks from gallery image flows while preserving diagnostics in server logs.
Add focused regression tests for OpenAI host matching, checked endpoint joining, harmonize SSRF hardening, and sanitized client errors.
2026-06-30 19:16:34 +02:00
Alexandre Teixeira
c8e106c629
test: split provider endpoint tests ( #4961 )
2026-06-28 19:05:38 +02:00
Alexandre Teixeira
31705015a3
test: localize calendar recurrence helper import ( #4944 )
...
* test: localize calendar recurrence helper import
* test: share calendar route import helper
2026-06-28 19:04:15 +02:00
Alexandre Teixeira
b2881ea0d1
test: split endpoint resolver tests ( #4957 )
2026-06-28 00:49:43 +02:00
Alexandre Teixeira
6dcd2dd436
test: split provider detection tests ( #4933 )
2026-06-27 21:46:33 +01:00
Alexandre Teixeira
f1ca973f98
test: split llm-core temperature tests ( #4935 )
2026-06-27 22:02:41 +02:00
Alexandre Teixeira
a26c632413
Merge pull request #4280 from GeekLuffy/feat/llm-self-eval
...
feat(teacher): implement Tier 2 LLM self-evaluation
2026-06-26 18:35:01 +01:00
Alexandre Teixeira
9ccb49735c
Merge pull request #4448 from Muhammad-Ikhwan-Fathulloh/dev
...
fix(upload): cache upload manifest and improve rename reliability
2026-06-26 18:04:59 +01:00
Alexandre Teixeira
0636d1cf55
test: split embedding lane tests ( #4389 )
...
* test: split embedding lane tests
* test: preserve embedding focus selector after lane split
2026-06-26 18:28:40 +02:00
Alexandre Teixeira
752ac5a671
test: split provider classification tests ( #4392 )
2026-06-16 09:54:07 +00:00
Alexandre Teixeira
17df977794
test: add fire_and_forget to API chat webhook stub ( #4383 )
2026-06-16 03:15:14 +00:00
Alexandre Teixeira
c2a6d8ea00
test: add oversized test split plan ( #3987 )
...
* test: add oversized test split plan
* test: refresh oversized split plan
2026-06-16 02:28:03 +00:00
Alexandre Teixeira
0afea5db5c
test: add report-only order-sensitivity runner ( #3982 )
...
* test: add report-only order-sensitivity runner
* test: report cwd in order-sensitivity runner
2026-06-15 15:49:47 +09:00
Alexandre Teixeira
83af3ca7ae
test: move area_cli tests into cli directory ( #3842 )
...
* test: move area_cli tests into cli directory
* test: include research CLI status in cli test move
2026-06-11 17:01:14 +00:00
Alexandre Teixeira
570e90faf4
docs(tests): inventory first low-risk test directory split ( #3764 )
...
Add a documentation-only test layout inventory for the first low-risk split of the flat tests directory.
Records the current 28-file area_cli set, including tests/test_research_cli_status.py, and documents validation/non-goals for the future mechanical move.
Closes #3712
Part of #2523
2026-06-11 19:24:06 +03:00
Alexandre Teixeira
4a0c778317
test: mark first slow tests from duration evidence ( #3711 )
2026-06-10 01:07:38 +02:00
Alexandre Teixeira
b3d7477a17
test: pilot core database stub helper ( #3685 )
2026-06-09 22:23:33 +02:00
Alexandre Teixeira
cf585f4dd3
test: add fast lane and duration visibility ( #3659 )
2026-06-09 20:11:47 +02:00
Alexandre Teixeira
02f930a3c5
test: add focused test selection runner ( #3556 )
2026-06-09 17:03:47 +02:00
Alexandre Teixeira
ce80fd0a92
test(taxonomy): auto-mark tests by area and sub-area ( #3491 )
2026-06-09 01:13:28 +02:00
Alexandre Teixeira
2b6ff994da
docs(tests): define testing standard and taxonomy ( #3372 )
2026-06-08 01:15:47 +02:00
Alexandre Teixeira
9d90be15df
refactor(tests): add temp sqlite helper ( #2930 )
2026-06-07 23:44:16 +02:00
Alexandre Teixeira
109fac1926
test(diffusion-server): exercise security middleware wiring ( #3214 )
2026-06-07 23:42:11 +02:00
Alexandre Teixeira
29020b92e3
docs(tests): document helper conventions
...
Documentation-only PR continuing #2523 . Adds tests/README.md to document helper conventions, validation expectations, and the next test-suite refactor phase.
2026-06-05 14:04:10 +01:00
Alexandre Teixeira
53af1c926a
refactor(tests): centralize fake endpoint resolver cleanup
...
Test-only refactor continuing #2523 . Centralizes the final repeated fake src.endpoint_resolver cleanup pattern into a focused import-state helper.
2026-06-05 13:23:46 +01:00
Alexandre Teixeira
8c8abd5e6d
refactor(tests): centralize fake database import-state cleanup
...
Test-only refactor continuing #2523 . Centralizes the repeated guarded fake core.database/src.database import-state cleanup into a focused helper.
2026-06-05 12:27:44 +01:00
Alexandre Teixeira
d1963d6670
refactor(tests): reuse import-state helper in auth manager tests
...
Test-only refactor continuing #2523 . Replaces inline core.auth cache eviction in two _fresh_auth_manager tests with clear_module, preserving behavior.
2026-06-05 11:24:55 +01:00
Alexandre Teixeira
c8e26249d3
refactor(tests): reuse import-state helper in auth tests
...
Test-only refactor continuing #2523 . Replaces a repeated core.auth cache eviction pattern in three auth tests with the shared clear_module helper, preserving behavior.
2026-06-05 11:10:41 +01:00
Alexandre Teixeira
a92e75fa05
fix(tests): restore Python CI baseline regressions
...
Test-only fix continuing #2523 . Updates two stale regression tests so the current broad Python pytest baseline is restored without changing production code.
2026-06-05 10:31:38 +01:00
Alexandre Teixeira
5d92420057
fix(tests): make archived session filter test multipart-independent
...
Test-only fix continuing #2523 . Makes the archived-session model-filter test independent of optional multipart packages. The red broad pytest status was classified as unrelated current dev baseline drift before merge.
2026-06-05 10:12:47 +01:00
Alexandre Teixeira
b17a897674
refactor(tests): reuse import-state helper in session tests
...
Test-only refactor continuing #2523 . Reuses the shared import-state helper in session-related tests, removes duplicated local save/restore logic, and preserves existing test behavior.
2026-06-05 09:25:52 +01:00