Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
261 commits
Select commit Hold shift + click to select a range
f7cc53f
docs: add CHANGELOG.md following Keep a Changelog format
djl11 May 26, 2026
4ff257c
chore: add .mailmap to consolidate contributor identities
djl11 May 26, 2026
c380080
ci: add CodeQL workflow for python, JS/TS, and Actions analysis
djl11 May 26, 2026
b942b5a
ci: add uv.lock check workflow to block stale-lockfile merges
djl11 May 26, 2026
f33c1e9
diag(ci): tail last 40 lines of orchestra-startup.log on orchestra-su…
djl11 May 26, 2026
a4b20dc
chore(precommit): add detect-secrets hook with initial baseline
djl11 May 26, 2026
34ddacd
docs: add VISION.md with explicit non-goals
djl11 May 26, 2026
f4d951a
docs(security): replace SECURITY.md with full trust-model document
djl11 May 26, 2026
3deb7ec
docs(contributing): add maintainers and area-familiarity sections
djl11 May 26, 2026
2377d89
ci: add stale-issue/PR triage workflow
djl11 May 26, 2026
bc4a2a6
chore(ci): revert verbose orchestra-start diag, keep failure-path dump
djl11 May 26, 2026
7e82923
fix(blacklist): delete from aggregation contexts to mirror create's d…
djl11 May 26, 2026
dd275f4
fix(ci): uv-lockfile-check needs sibling unify/unillm checkouts
djl11 May 26, 2026
65dc04d
docs(README): sharpen for developer ICP, surface superset positioning…
djl11 May 26, 2026
cff1743
fix(test_context_store): accept project= kwarg in monkeypatch mock
djl11 May 26, 2026
6b1f9bb
fix(conftest): make _check_orchestra_available tolerant of /v0-suffix…
djl11 May 26, 2026
11b129c
fix(task-scheduler): preserve offline agentic scheduled tasks
hmahmood24 May 26, 2026
75f19a9
fix(test_integration_status): provide required secret so register act…
djl11 May 27, 2026
b9e8430
fix(blacklist): query each context for its own log id (copies, not refs)
djl11 May 27, 2026
9930357
test(km): loosen test_refactor_simulated_km schema-vocab assertion
djl11 May 27, 2026
5c555f2
chore(codeowners): set Yusha + Haris as default reviewers
djl11 May 27, 2026
e3633cd
fix(contact_manager): 3 stale-test failures from matrix-bug-shielded …
djl11 May 27, 2026
5a59805
test(dashboard): seed Data/monthly_stats + Data/revenue contexts for …
djl11 May 27, 2026
803bb41
fix(guidance): point _functions_context() at Functions/Meta (post-fm-…
djl11 May 27, 2026
51b90d1
test(secret_manager): hand-off prompt via tempfile to avoid stdout lo…
djl11 May 27, 2026
369c10d
fix(test_image): typo in test kwarg (_parent_chat_context_cont → _par…
djl11 May 27, 2026
3151b00
test(common): align test_schema_hides_private_optionals with actual d…
djl11 May 27, 2026
3621bd8
fix(test_spending): pass agent_id (int) not assistant_id (str) to Ses…
djl11 May 27, 2026
c61182f
fix(test_cost_attribution): mock ready_for_brain explicitly
djl11 May 27, 2026
31f5248
fix(image_refs): forbid extra keys so orchestra schema enforcement ca…
djl11 May 27, 2026
a961aba
fix(test_fk): use synchronous=True on log_messages to avoid race with…
djl11 May 27, 2026
e005787
test(voice): widen subprocess-ready timeout + surface stdout/stderr o…
djl11 May 27, 2026
c41e15f
test(actions/files): broaden missing-file vocab for LLM phrasing drift
djl11 May 27, 2026
9d90a3f
test(actions/update_contacts): allow digit-only match for phone-numbe…
djl11 May 27, 2026
1b454f5
fix(function_manager): use 'uv sync --directory' to dodge unlinked-cw…
djl11 May 27, 2026
35dc696
fix(test_parallel_run): make sessions_created + log_files robust to d…
djl11 May 27, 2026
a2ea449
ci(file_manager): cache + pre-warm HF docling models to fix download …
djl11 May 27, 2026
03a2e9f
fix(tests): stop set -e from swallowing parse_test_args help/error exits
djl11 May 27, 2026
2d9c232
test(secret_manager): hand-off tool schemas via tempfile (same fix as…
djl11 May 27, 2026
9100131
fix(test_timezone): correct post-fix assertion for invalid-TZ no-op b…
djl11 May 27, 2026
d5d65e2
fix(dashboard): seed Data/* contexts inside the test's prefix, not gl…
djl11 May 27, 2026
91654b2
fix(guidance): point _functions_context() at Functions/Compositional,…
djl11 May 27, 2026
d7f0c78
test(transcript): add 'metadata' to _EXPECTED_FWD shorthand map
djl11 May 27, 2026
654ea73
ci(agent_service): install magnitude from monorepo root so turbo reso…
djl11 May 27, 2026
87fae7e
fix(test_memory): preserve original signature on spy_cm_update / spy_…
djl11 May 27, 2026
affb6d4
fix(conftest): stub task_scheduler.datetime.now to match prompt_helpe…
djl11 May 27, 2026
063330c
fix(test_tool_loop_limits): count only short_tool when verifying quot…
djl11 May 27, 2026
3821f6a
fix(test_persistent_worker): set LIVEKIT_URL so start_persistent_work…
djl11 May 27, 2026
7dee9db
fix(test_comms_manager): poll for ack instead of asserting synchronously
djl11 May 27, 2026
4a33f66
fix(test_proactive_speech): remove over-broad 'should be' completion-…
djl11 May 27, 2026
4fd5523
fix(function_manager): explicit 'uv venv' before 'uv sync' guarantees…
djl11 May 27, 2026
7a3126c
ci(agent_service): install bun so turbo can resolve magnitude's packa…
djl11 May 27, 2026
9a33fb2
test(actions/files): also accept passive 'cannot be accessed' and 'ou…
djl11 May 27, 2026
3730ed6
fix(test_conv_mgr): configure assistant email/number so send_email/se…
djl11 May 27, 2026
3f9f375
fix(actor): explicitly direct storage review to delete superseded fun…
djl11 May 27, 2026
4a5b7f8
fix(voice_prompt): mention credentials in app-integration Q&A
djl11 May 27, 2026
de0db76
fix(knowledge_manager): direct LLM to update_rows (not transform_colu…
djl11 May 27, 2026
be67b90
fix(test_files): autouse-set vm_ready + file_sync_complete for all fi…
djl11 May 27, 2026
e4fab25
fix(test_take_action): mark file env ready in find_and_action test
djl11 May 27, 2026
c606219
fix(contact_manager.simulated): allow update() in deterministic mode
djl11 May 27, 2026
2af1f0b
fix(test_conv_mgr): enable USER_DESKTOP_CONTROL feature in CM tests
djl11 May 27, 2026
976f0da
fix(knowledge_manager): remove undefined {ask_fname} in update prompt…
djl11 May 27, 2026
4ed113f
fix(actor_prompt): explicit anti-pattern for single-primitive execute…
djl11 May 27, 2026
1b9190a
fix(function_manager): pass explicit .venv path + verify creation + l…
djl11 May 27, 2026
aa8a0b1
ci(file_manager): broaden HF cache gate from managers/ to all of file…
djl11 May 27, 2026
d715242
test(parallel_run): align edge-case + observe tests with current runn…
djl11 May 28, 2026
730da24
fix(memory_manager): prompt explicitly forbids creating a contact for…
djl11 May 28, 2026
13670b4
ci(agent_service): run patchright install from magnitude/ not agent-s…
djl11 May 28, 2026
6c04f36
diag(function_manager): preflight + listing on venv-python vanish in …
djl11 May 28, 2026
f9d2289
fix(test_async_tool_loop): subscribe caplog to 'unity' logger so wait…
djl11 May 28, 2026
2b07266
test(conv_mgr/core): align 4 stale tests with current production beha…
djl11 May 28, 2026
ab849ef
fix(task_scheduler): prompt explicitly forbids creating a scheduled t…
djl11 May 28, 2026
6cef32b
test(actions): autouse vm_ready+file_sync_complete for all action tests
djl11 May 28, 2026
1604b16
fix(voice_prompt): front-load credentials/Secrets in app-integration …
djl11 May 28, 2026
01a9de9
test(flows): autouse vm_ready+file_sync_complete for all flow tests
djl11 May 28, 2026
fc49fe6
fix(test_spending): use /user/spend (correct route), not /user/{id}/s…
djl11 May 28, 2026
c583ab2
fix(test_spending): actually await the cap-reset cleanup so state doe…
djl11 May 28, 2026
299d91a
ci(tests): add concurrency group to cancel superseded matrix runs on …
djl11 May 28, 2026
67c5e26
test(parallel_run): align 4 more residual tests with current runner UX
djl11 May 28, 2026
8d39006
ci(tests): share concurrency group across push + pull_request events …
djl11 May 28, 2026
0c5f9a2
ci(matrix): split tests/task_scheduler into 3 entries to fit job timeout
djl11 May 28, 2026
31b5e27
fix(test_spending): per-test ephemeral assistant eliminates state-lea…
djl11 May 28, 2026
d712ad9
fix(test_spending): reset shared user spending-limit in teardown to p…
djl11 May 28, 2026
1e964e8
ci(matrix): finer split for task_scheduler + add function_manager/pyt…
djl11 May 28, 2026
1e9a5f4
diag(function_manager): richer state dump on venv-disappear (ancestor…
djl11 May 28, 2026
46650d5
fix(voice_prompt): nudge fast brain against verbatim repeats + track …
djl11 May 28, 2026
7a6a256
fix(transcript_manager): direct ask-loop to cover BOTH original and i…
djl11 May 28, 2026
f2a0335
fix(voice_prompt): teach fast brain to use wake-context notifications…
djl11 May 28, 2026
16bdcdd
fix(event_bus/spending): set is_local=True on ephemeral per-test assi…
djl11 May 28, 2026
cb81bb0
fix(function_manager): uv sync --no-install-project + AssistantDetail…
djl11 May 28, 2026
5ad99b4
fix(test_async_tool_loop): attach caplog handler directly to unity lo…
djl11 May 28, 2026
dc2f527
fix(test_conv_mgr): set env vars BEFORE tests.helpers import so SETTI…
djl11 May 28, 2026
01ec429
revert(conv_mgr): _provision_system_overlays rename — method doesn't …
djl11 May 28, 2026
91854c6
fix(test_screenshot_to_act): absolutise screenshot path so write does…
djl11 May 28, 2026
36d1f46
fix(test_conftest): don't rmtree shared /tmp/unity_test_home on sessi…
djl11 May 28, 2026
c599a6f
fix(test_remote_windows): pre-set _vm_ready event in fixtures so wait…
djl11 May 28, 2026
60ee166
refactor(gateway): extract pubsub helpers into gateway/common
juliagsy May 28, 2026
4dea34f
feat(cm_types): add Slack medium and Slack routing metadata in Sessio…
juliagsy May 28, 2026
d266b59
feat(contact_manager): support Slack workspace/user identities on con…
juliagsy May 28, 2026
05329dc
feat(comms): plumb Slack through ConversationManager (primitives, eve…
juliagsy May 28, 2026
07e1862
feat(gateway/slack): add Slack channel adapter and register in gatewa…
juliagsy May 28, 2026
e9516ce
fix(slack): correct bot-token resolution; add /user-info lookup
juliagsy May 29, 2026
99d94e1
feat(slack): resolve unknown inbound senders to contacts by email or …
juliagsy May 29, 2026
2b514b9
fix(slack): dedup channel mentions and make sender-contact creation i…
juliagsy May 29, 2026
b83989f
fix(slack): expose send tools via workspace bot id; stop nameless con…
juliagsy May 29, 2026
225c839
Thread Slack channel replies under the originating message
juliagsy May 29, 2026
ec6683c
docs: add folded "steering in practice" README section with six capab…
djl11 May 31, 2026
03d05cc
fix(entrypoint): route offline-task jobs to offline_runner (mode valu…
djl11 Jun 1, 2026
411dc9d
Add OpenClaw/Hermes skill → GuidanceManager migration scripts
djl11 Jun 1, 2026
777c49a
chore: remove tracked .DS_Store (already in .gitignore)
djl11 Jun 1, 2026
181a0cd
Add federated ranked search helper
djl11 Jun 1, 2026
52e4891
fix(installer): avoid heredoc command substitution
djl11 Jun 1, 2026
1b61025
fix(installer): avoid local postgres port clashes
djl11 Jun 1, 2026
ca5cc64
fix(deps): upgrade transitive packages for security advisories
YushaArif99 Jun 2, 2026
3fd5cfe
fix(deps): merge staging and refresh uv.lock after security upgrades
YushaArif99 Jun 2, 2026
17ed0ec
chore: refresh uv.lock for merged staging and unillm staging tip
YushaArif99 Jun 2, 2026
e363706
Merge pull request #284 from unifyai/fix/high-dependabot-main
YushaArif99 Jun 2, 2026
ac909c1
fix(dashboard): keep dashboard artifacts out of Data contexts
hmahmood24 Jun 2, 2026
84a0507
Gate integration packages on assistant configuration
djl11 Jun 2, 2026
e9950c4
Update README demo diagrams
djl11 Jun 2, 2026
3cab68d
Remove angle brackets from FileRecords context description
juliagsy Jun 3, 2026
51f49a6
Surface Discord inbound publish failures in gateway logs
juliagsy Jun 3, 2026
826ff0b
Wire Discord channel_id through so the assistant can reply in-channel
juliagsy Jun 3, 2026
cb16708
feat(runtime): carry shared-space memberships
YushaArif99 Apr 30, 2026
35ad9ce
feat(context): resolve shared-space registry roots
YushaArif99 Apr 30, 2026
0fcb852
feat(tasks): route scheduler state by destination
YushaArif99 Apr 30, 2026
85ff2a0
feat(runtime): carry resolved contact ids through session state
YushaArif99 May 1, 2026
31a8d45
feat(runtime): store accessible space summaries
YushaArif99 May 2, 2026
b7f6586
feat(prompt): render accessible shared spaces
YushaArif99 May 2, 2026
7718a10
feat(contact-manager): route contacts through shared spaces
YushaArif99 May 2, 2026
df7f7be
feat(functions): retire venv sessions on credential refresh
YushaArif99 May 2, 2026
4d456bd
feat(secrets): scope credentials to shared destinations
YushaArif99 May 2, 2026
3298d88
feat(memory): route knowledge and guidance through shared spaces
YushaArif99 May 4, 2026
117b920
feat(functions): route custom functions by destination
YushaArif99 May 4, 2026
e51856c
test(memory): cover manager-owned destination routing
YushaArif99 May 4, 2026
042d6b1
feat(context): register shared file data blacklist roots
YushaArif99 May 4, 2026
8fc30cb
feat(files): route file metadata through shared destinations
YushaArif99 May 4, 2026
9687d1e
feat(data): route tables through shared destinations
YushaArif99 May 4, 2026
74f9d41
feat(blacklist): preserve shared destination blocks
YushaArif99 May 4, 2026
a24c866
test(shared-context): cover file data blacklist destinations
YushaArif99 May 4, 2026
21ce307
feat(context): resolve dashboard shared roots
YushaArif99 May 4, 2026
8adfae0
feat(dashboard): route dashboards through shared spaces
YushaArif99 May 4, 2026
0bdf9e1
test(dashboard): evaluate shared-space routing choices
YushaArif99 May 4, 2026
8440886
fix(shared-context): restore routed shared data roots
YushaArif99 May 4, 2026
bb4064e
fix(guidance): resolve linked functions through owning manager
YushaArif99 May 4, 2026
abd148e
feat(context): register shared media roots
YushaArif99 May 4, 2026
a6bd8e5
feat(images): route metadata through shared roots
YushaArif99 May 4, 2026
aa4ccdd
feat(transcripts): read conversations across shared roots
YushaArif99 May 4, 2026
5d148dd
fix(context): preserve root resolution without provisioning
YushaArif99 May 4, 2026
f665ace
fix(images): flush pending metadata on resolution
YushaArif99 May 5, 2026
d5cd2cf
fix(transcripts): avoid duplicate async fallback writes
YushaArif99 May 5, 2026
b6f9e9b
fix(identity): use resolved contact ids in runtime paths
YushaArif99 May 5, 2026
caa92cc
style: apply black formatting
YushaArif99 Jun 3, 2026
7189ab6
fix(embed_utils): use SHA-256 for column lock file names
YushaArif99 Jun 3, 2026
9428d3a
feat(memory): register shared row authorship
YushaArif99 May 6, 2026
f4eac06
feat(memory): stamp shared row authorship
YushaArif99 May 6, 2026
d09292a
feat(coordinator): carry role through Unity session setup
YushaArif99 May 4, 2026
733d16e
feat(coordinator): add private onboarding state manager
YushaArif99 May 4, 2026
792783a
feat(coordinator): add assistant lifecycle tools
YushaArif99 May 4, 2026
65f533b
feat(coordinator): render onboarding goal in slow brain
YushaArif99 May 4, 2026
5ea53a2
feat(coordinator): add space workspace tools
YushaArif99 May 5, 2026
d0b14b1
test(coordinator): cover workspace tool wiring
YushaArif99 May 5, 2026
09c1a28
feat(coordinator): teach slow brain setup literacy
YushaArif99 May 5, 2026
54a8bda
test(coordinator): cover product literacy workflows
YushaArif99 May 5, 2026
c3248b7
feat(coordinator): carry role into voice calls
YushaArif99 May 6, 2026
7200322
test(coordinator): cover voice role plumbing
YushaArif99 May 6, 2026
eeac15b
test(coordinator): evaluate voice call handoff UX
YushaArif99 May 6, 2026
65182c7
test(coordinator): repair brain test rebase conflict
YushaArif99 May 6, 2026
baaee70
feat(coordinator): add colleague setup writes
YushaArif99 May 6, 2026
b4225e9
test(coordinator): cover setup persistence decisions
YushaArif99 May 6, 2026
83383eb
feat(coordinator): stream setup activity progress
YushaArif99 May 7, 2026
a96a244
feat(coordinator): author setup activity CTAs
YushaArif99 May 7, 2026
48a5d4c
fix(conversation-manager): restore runtime context across coordinator…
YushaArif99 May 8, 2026
0dd09b9
fix(conversation-manager): carry tool context across follow-up turns
YushaArif99 May 9, 2026
62adc39
feat(coordinator): add composite colleague commissioning tool
YushaArif99 May 9, 2026
492695a
fix(coordinator): harden assistant config and setup write error paths
YushaArif99 May 9, 2026
d0f7a6d
refactor(coordinator): split prompt assembly by role and mode
YushaArif99 May 9, 2026
ed2a608
refactor(coordinator): clarify setup prompt contracts
YushaArif99 May 10, 2026
965a389
refactor(coordinator): align mission framing and ownership boundaries
YushaArif99 May 10, 2026
003342d
refactor(coordinator): define checklist and state usage contract
YushaArif99 May 10, 2026
4decd58
fix(coordinator): preserve commission create_infra contract
YushaArif99 May 10, 2026
3525b12
fix(coordinator): use default infra behavior in commission flow
YushaArif99 May 10, 2026
66d150c
fix(coordinator): defer activity publish until event bus is ready
YushaArif99 May 11, 2026
7f2e2d1
fix(coordinator): enforce checklist progression across setup slices
YushaArif99 May 11, 2026
6a8e85e
fix(coordinator): require explicit completion summaries after setup m…
YushaArif99 May 11, 2026
b7be8d6
style: apply black formatting
YushaArif99 Jun 3, 2026
045a183
fix(prompts): remove duplicate is_coordinator rebase artifacts
YushaArif99 Jun 3, 2026
5aff4e3
fix(coordinator): require explicit colleague bios on create paths
YushaArif99 May 11, 2026
af6aaf7
fix(coordinator): promote core colleague profile fields to explicit t…
YushaArif99 May 11, 2026
368249e
fix(coordinator): support checklist backfill status on add
YushaArif99 May 11, 2026
307ddb6
feat(coordinator): make coordinator deferral workspace-aware
YushaArif99 May 12, 2026
4750516
fix(tasks): canonicalize destination labels across runtime paths
YushaArif99 May 12, 2026
885634d
feat(transcript): fan out implicit writes to all member spaces
YushaArif99 May 12, 2026
4dc7833
fix(voice): ground caller identity in fast-brain prompts
YushaArif99 May 13, 2026
99dbe95
feat(coordinator): adopt direct-add member-target workspace mutations
YushaArif99 May 13, 2026
863946d
test(coordinator): update eval and tool coverage for direct-add flow
YushaArif99 May 13, 2026
cd8028f
fix(coordinator): clarify workspace tool contracts and guard membersh…
YushaArif99 May 14, 2026
65dcd79
chore(preview): rebuild unity image after unify sdk staging update
YushaArif99 May 14, 2026
cfac4f8
feat(coordinator): expose role-gated coordinator primitives to actor
YushaArif99 May 14, 2026
f0ae755
fix(coordinator): route lifecycle execution through act primitives
YushaArif99 May 14, 2026
07f0609
fix(actor): propagate action failure metadata to completed history
YushaArif99 May 14, 2026
9126155
fix(contacts): allow digit-bearing names during contact provisioning
YushaArif99 May 15, 2026
587aa79
chore(tests): remove stale no-digit name assumptions
YushaArif99 May 15, 2026
0428177
feat(transcript): attribute shared transcript sources
YushaArif99 May 16, 2026
1295380
refactor(coordinator): reuse shared assistant name formatting
YushaArif99 May 16, 2026
d8f8da5
test(transcript): cover shared authorship attribution behavior
YushaArif99 May 16, 2026
6592c5d
feat(coordinator): add organization invite primitive flow
YushaArif99 May 18, 2026
0deb03a
fix(coordinator): enforce rich contracts for workspace tool inputs
YushaArif99 May 18, 2026
9f59174
fix(dashboard): cap live binding row limits
YushaArif99 May 18, 2026
de08f94
fix(tasks): scope execute clone and activation to task destination
YushaArif99 May 19, 2026
d73c3d5
docs(comms): clarify send_unify_message contact_id vs space tokens
YushaArif99 May 19, 2026
c9c722a
refactor(coordinator): unify prompt scaffolding and context-gated too…
YushaArif99 May 20, 2026
c913880
test(coordinator): realign coverage with unified coordinator behavior
YushaArif99 May 20, 2026
e9a5192
style: apply black formatting
YushaArif99 Jun 3, 2026
f485905
refactor(coordinator): converge runtime on one personal identity
YushaArif99 May 20, 2026
495ca14
refactor(coordinator): always expose org membership primitives
YushaArif99 May 21, 2026
758d098
feat(coordinator): resolve org targets explicitly for workspace primi…
YushaArif99 May 21, 2026
210eefd
fix(coordinator): add explicit org targeting to assistant primitives
YushaArif99 May 21, 2026
b729571
feat(runtime): route coordinator attribution through workspace org co…
YushaArif99 May 22, 2026
bb604b7
test(runtime): assert workspace org id propagation in unity session f…
YushaArif99 May 22, 2026
595039e
revert(runtime): remove workspace_org_id session context
YushaArif99 May 22, 2026
8c695f2
fix(coordinator): gate workspace mutations to owner and admin roles
YushaArif99 May 22, 2026
7ca0b62
fix(coordinator): lock workspace primitives to active workspace scope
YushaArif99 May 22, 2026
278ffc2
refactor(coordinator): remove explicit org id primitive args
YushaArif99 May 22, 2026
c7042eb
fix(tasks): accept null personal destination in activation lookup
YushaArif99 May 22, 2026
9860a69
feat(coordinator): react to coordinator onboarding events
nassimberrada May 23, 2026
e5d4d4e
refactor(prompts): trim duplicated content from the slow-brain prompt
YushaArif99 May 25, 2026
9df8121
refactor(prompts): organize slow brain into an outcome-driven section…
YushaArif99 May 25, 2026
4a2da28
feat(prompts): differentiate the coordinator voice prompt from the re…
YushaArif99 May 25, 2026
3f11c3c
feat(prompts): pin the voice prompt against bio-based fabrication
YushaArif99 May 25, 2026
19a8553
refactor(prompts): describe the workspace coordinator as a unified peer
YushaArif99 May 25, 2026
15ec6a6
feat(scripts): add a dev tool that renders coordinator and regular pr…
YushaArif99 May 25, 2026
4815088
feat(coordinator): handle delegated colleague assignments
YushaArif99 May 25, 2026
4d26c02
feat(coordinator-onboarding): session-opener event + prompt + reliabl…
nassimberrada May 25, 2026
3f530cf
docs(prompts): clarify assistant manager scope
YushaArif99 May 26, 2026
72631a2
docs(coordinator): clarify async delegation receipt in delegate_to_co…
YushaArif99 May 26, 2026
3dcf71a
docs(coordinator): add async delegation receipt guidance to actor del…
YushaArif99 May 26, 2026
fd1d4df
fix(coordinator): keep delegate receipt contract in compact actor docs
YushaArif99 May 26, 2026
f5351cb
fix(prompts): teach coordinator slow brain delegation act framing
YushaArif99 May 26, 2026
dc97cfd
chore: trigger coordinator preview Unity image rebuild
YushaArif99 Jun 2, 2026
7ff7439
fix(voice): gate LiveKit dispatch on worker registration
YushaArif99 Jun 3, 2026
c2d69ab
style: apply black formatting
YushaArif99 Jun 3, 2026
bd41980
test(prompts): realign coordinator prompt builder expectations
YushaArif99 Jun 3, 2026
d903ce5
Harden LLM CI cost controls
djl11 Jun 3, 2026
2bdb5e2
Merge pull request #285 from unifyai/feature/coordinator-part-1
YushaArif99 Jun 3, 2026
829e395
merge(staging): sync part-4 with landed part-1
YushaArif99 Jun 3, 2026
fa0d5bb
chore(deps): refresh uv.lock after staging sync
YushaArif99 Jun 3, 2026
f071e46
Merge pull request #289 from unifyai/feature/coordinator-part-4
YushaArif99 Jun 3, 2026
1bb456f
fix(ci): align uv lock check siblings and clear CodeQL PR alerts
YushaArif99 Jun 3, 2026
79d8381
fix(ci): sanitize gateway logs for CodeQL log-injection checks
YushaArif99 Jun 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Binary file removed .DS_Store
Binary file not shown.
8 changes: 8 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,11 @@ UNITY_VALIDATE_LLM_PROVIDERS=true

# Cache LLM responses locally. First run hits the provider; later runs replay.
UNILLM_CACHE=true

# Optional AntiCaptcha API key (consumed by agent-service's
# /captcha/solve handler — see agent-service/README.md). Required only
# if any caller invokes the WebSessionHandle.solve_captcha primitive.
# Sign up + deposit at https://anti-captcha.com. Without this set, the
# handler returns 503 anticaptcha_key_missing and callers fall back to
# their own non-CAPTCHA path.
ANTICAPTCHA_KEY=
23 changes: 23 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# CODEOWNERS for unifyai/unity
#
# GitHub uses LAST-MATCH-WINS semantics. The per-path overrides below
# flag security-sensitive paths in PR descriptions; the reviewer set
# remains the default pair (the two founding engineers).
#
# Either approval satisfies branch protection. GitHub auto-excludes
# the PR author from the request list, so when one of them opens a
# PR the other becomes the implicit required reviewer.

# Default reviewers — the two founding engineers.
* @YushaArif99 @hmahmood24

# Security-sensitive config — flagged so it shows up in PR descriptions.
/.github/CODEOWNERS @YushaArif99 @hmahmood24
/.github/dependabot.yml @YushaArif99 @hmahmood24
/.github/workflows/ @YushaArif99 @hmahmood24
/SECURITY.md @YushaArif99 @hmahmood24
/AGENTS.md @YushaArif99 @hmahmood24
/ARCHITECTURE.md @YushaArif99 @hmahmood24

# Secret manager is the highest-blast-radius surface in the codebase.
/unity/secret_manager/ @YushaArif99 @hmahmood24
123 changes: 123 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
name: "🐛 Bug report"
description: Something is broken, crashing, or behaving incorrectly.
title: "[Bug]: "
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to file a bug report.

Before submitting:
- Search [existing issues](https://github.com/unifyai/unity/issues) to avoid duplicates.
- Try `unity update` and confirm the bug still reproduces.
- If this is install-related, run `unity doctor` and include its output below.

- type: textarea
id: description
attributes:
label: What's wrong?
description: A clear description of the bug. Include error messages, tracebacks, or screenshots if relevant.
placeholder: |
What happened? What did you expect to happen instead?
validations:
required: true

- type: textarea
id: reproduction
attributes:
label: Steps to reproduce
description: Minimal steps to trigger the bug. The more specific, the faster we can fix it.
placeholder: |
1. `unity` from a fresh terminal
2. Send the message "..."
3. Observe ...
validations:
required: true

- type: textarea
id: expected
attributes:
label: Expected behavior
validations:
required: true

- type: textarea
id: actual
attributes:
label: Actual behavior
description: Include the full error output if available.
validations:
required: true

- type: dropdown
id: surface
attributes:
label: Affected surface
multiple: true
options:
- CLI (`unity`)
- Voice (`unity --live-voice`)
- Installer / setup (`scripts/install.sh`, `unity setup`, `unity doctor`)
- Local Orchestra (Docker / Postgres)
- Tests (`tests/parallel_run.sh`)
- A specific state manager (Contact / Knowledge / Task / Transcript / Guidance / Function / File / Image / Web / Secret / Blacklist / Data)
- Actor / CodeAct execution
- ConversationManager / steering / interjection
- Event bus / observability
- Gateway / external comms
- Other (specify below)
validations:
required: true

- type: input
id: os
attributes:
label: Operating system
placeholder: macOS 15.2 / Ubuntu 24.04 / Windows 11 WSL2
validations:
required: true

- type: input
id: python
attributes:
label: Python version
description: Output of `.venv/bin/python --version`
placeholder: "3.12.7"

- type: input
id: unity-commit
attributes:
label: Unity commit
description: Output of `git rev-parse --short HEAD` in the unity repo.
placeholder: "aaabf3d4"

- type: textarea
id: doctor
attributes:
label: "`unity doctor` output (recommended)"
description: |
Paste the full output of `unity doctor`. This catches the majority of install / environment bugs without back-and-forth.
render: shell

- type: textarea
id: logs
attributes:
label: Additional logs / traceback
description: |
Relevant log lines from `logs/unity/`, `logs/orchestra/`, or pytest output if applicable.
render: shell

- type: textarea
id: root-cause
attributes:
label: Root-cause analysis (optional)
description: |
If you've dug in, share file paths, line numbers, and snippets. This dramatically speeds up fixes.

- type: checkboxes
id: pr-ready
attributes:
label: Are you willing to submit a PR?
options:
- label: I'd like to fix this myself and submit a PR
14 changes: 14 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
blank_issues_enabled: true
contact_links:
- name: 💬 Discord
url: https://discord.com/invite/sXyFF8tDtm
about: For quick questions, install help, and community discussion.
- name: 📖 Architecture overview
url: https://github.com/unifyai/unity/blob/main/ARCHITECTURE.md
about: How Unity is designed — read this before opening a design-question issue.
- name: 🤝 Contributing guide
url: https://github.com/unifyai/unity/blob/main/CONTRIBUTING.md
about: How to set up the dev environment and submit a PR.
- name: 🧠 Agent conventions (AGENTS.md)
url: https://github.com/unifyai/unity/blob/main/AGENTS.md
about: Coding standards, test philosophy, and git workflow.
74 changes: 74 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
name: "✨ Feature request"
description: Suggest a new capability, manager, primitive, or improvement.
title: "[Feature]: "
labels: ["enhancement"]
body:
- type: markdown
attributes:
value: |
Before submitting:
- Search [existing issues](https://github.com/unifyai/unity/issues) — someone may have proposed this already.
- For new procedural how-tos or executable functions for *your* assistant, consider that `GuidanceManager` and `FunctionManager` are designed to absorb those at runtime, no code change required. Feature requests in this repo are for changes to the runtime itself.
- See [`ARCHITECTURE.md`](https://github.com/unifyai/unity/blob/main/ARCHITECTURE.md) for how the manager / primitive boundary works.

- type: textarea
id: problem
attributes:
label: Problem or use case
description: What are you trying to do that you can't today? What's the user-facing pain?
validations:
required: true

- type: textarea
id: solution
attributes:
label: Proposed solution
description: |
How do you think this should work? Be as concrete as you can — manager API surface, primitive signature, CLI flag, config key.
validations:
required: true

- type: textarea
id: alternatives
attributes:
label: Alternatives considered
description: What other shapes did you consider? Why is the proposed one better?

- type: dropdown
id: scope
attributes:
label: Scope
options:
- New tool inside an existing manager
- New manager (significant — usually needs design discussion first)
- New primitive exposed to the Actor
- CLI / setup improvement
- Voice / fast-brain improvement
- Steering / async-tool-loop infrastructure
- Observability / event bus
- Tests / test infra
- Documentation
- Other
validations:
required: true

- type: dropdown
id: breaking
attributes:
label: Is this a breaking change?
description: Unity has a zero-backward-compatibility policy — breaking is fine, but flag it.
options:
- "No"
- "Yes — manager API change"
- "Yes — event payload / schema change"
- "Yes — env var / config change"
- "Yes — other"
validations:
required: true

- type: checkboxes
id: pr-ready
attributes:
label: Contribution
options:
- label: I'd like to implement this myself and submit a PR
76 changes: 76 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
<!--
Thanks for contributing to Unity! Please fill out the sections below.
For trivial changes (typo fixes, comment-only edits) you can shorten this template — just keep the Summary.

PRs land on `staging`, not `main`. See CONTRIBUTING.md.
-->

## Summary

<!-- 1–3 sentences: what problem does this PR solve, and why is this the right approach? -->



## Type of change

<!-- Check all that apply. -->

- [ ] Bug fix (non-breaking change that fixes incorrect behavior)
- [ ] Feature (non-breaking change that adds functionality)
- [ ] Refactor (no behavior change)
- [ ] Breaking change (API or data-model change — Unity has zero-backward-compat policy, but please call it out)
- [ ] Test-only (no source changes)
- [ ] Docs / chore / CI

## Areas touched

<!-- Check all that apply. Helps reviewers route. -->

- [ ] Actor / CodeAct
- [ ] ConversationManager / slow brain
- [ ] A specific state manager (Contact / Knowledge / Task / Transcript / Guidance / Function / File / Image / Web / Secret / Blacklist / Data / Memory)
- [ ] Async tool loop (`unity/common/_async_tool/`)
- [ ] Event bus / observability
- [ ] Gateway / external comms
- [ ] Tests / test infra (`tests/`, `conftest.py`, `parallel_run.sh`)
- [ ] CI / build / packaging

## Test plan

<!--
How did you verify this? Paste the command(s) you ran and the result.

The default expectation is to run the relevant directory:
tests/parallel_run.sh tests/<module>/

For infrastructure changes that are hard to reach via tests, a quick
verification script under tests/_verify_*.py is encouraged
(see .cursor/rules/surgical-verification-before-tests.mdc).
-->

```
tests/parallel_run.sh tests/...
```

- [ ] All relevant tests pass locally
- [ ] If this is a bug fix, I added a regression test (or explained why one isn't feasible)

## Behavior / migration notes

<!--
- Did this change a public manager API, primitive, or event payload?
- Are there schema/context changes in Orchestra that need a migration?
- Any new env vars or config flags? (Update `.env.advanced.example`.)
- If yes to any of the above, describe upgrade steps.
-->

None.

## Checklist

- [ ] PR is targeted at `staging` (not `main`)
- [ ] Followed conventional commit style (`feat(scope):`, `fix(scope):`, `refactor(scope):`, `chore(scope):`, etc.)
- [ ] No `try/except` added defensively — only around specific, recoverable errors
- [ ] No "new" / "updated" / "TODO from chat" temporal comments (see `.cursor/rules/no-temporal-comments.mdc`)
- [ ] No test-specific shortcuts in production code (see `.cursor/rules/no-test-info-in-production-code.mdc`)
- [ ] Updated `AGENTS.md` / `ARCHITECTURE.md` if I changed architectural conventions
58 changes: 58 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# Dependabot configuration for unifyai/unity.
#
# Scoped to GitHub Actions and the agent-service npm workspace.
#
# We deliberately do NOT enable scheduled pip updates: Unity sits on top of
# three sibling repos (unify, unillm, orchestra-core) wired in via editable
# uv installs, and we move source-dep pins deliberately rather than on a
# cadence. CVE-driven security PRs against currently-pinned deps are still
# delivered via the repo-level "Dependabot security updates" setting
# (Settings → Code security → Dependabot security updates) — those are
# fire-on-CVE, not schedule-driven, and that's exactly when we want to
# move a pin.
#
# GitHub Actions and the agent-service npm package are the exceptions:
# - action pins should be kept fresh (most upstream bumps are themselves
# security fixes); Dependabot's grouped weekly PR is low-noise.
# - agent-service is leaf TypeScript with no Python coupling, so npm
# patch/minor bumps are safe to apply on a schedule.

version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
day: "monday"
open-pull-requests-limit: 5
labels:
- "dependencies"
- "github-actions"
commit-message:
prefix: "chore(actions)"
include: "scope"
groups:
# Batch routine action bumps into one PR per week to reduce noise.
# Security updates still open individually and bypass grouping.
actions-minor-patch:
update-types:
- "minor"
- "patch"

- package-ecosystem: "npm"
directory: "/agent-service"
schedule:
interval: "weekly"
day: "monday"
open-pull-requests-limit: 5
labels:
- "dependencies"
- "agent-service"
commit-message:
prefix: "chore(agent-service)"
include: "scope"
groups:
agent-service-minor-patch:
update-types:
- "minor"
- "patch"
Loading
Loading