Skip to content

Add Asana tracker adapter#105

Merged
frantic-openai merged 3 commits into
mainfrom
codex/asana-tracker
Jul 20, 2026
Merged

Add Asana tracker adapter#105
frantic-openai merged 3 commits into
mainfrom
codex/asana-tracker

Conversation

@frantic-openai

Copy link
Copy Markdown
Collaborator

Context

Symphony's generic tracker seam needs an Asana implementation without adding generic mutation APIs.

TL;DR

Add Asana task reads and a host-authenticated raw Asana API tool.

Summary

  • Add project-scoped Asana task reads, section-state mapping, and dispatchability.
  • Add raw asana_api for provider-native mutations with host-side auth.
  • Add contract tests, live E2E proof, and Asana adapter documentation.

Alternatives

  • Generic CRUD was rejected because it would flatten sections, stories, and task types.
  • Completed-only state mapping was rejected because section names are the workflow source.

Test Plan

  • make -C elixir all
  • SYMPHONY_RUN_ASANA_LIVE_E2E=1 mix test test/symphony_elixir/asana_live_e2e_test.exs
  • SYMPHONY_RUN_LIVE_E2E=1 SYMPHONY_LIVE_LINEAR_TEAM_KEY=FST mix test test/symphony_elixir/live_e2e_test.exs:123

frantic-openai and others added 3 commits July 17, 2026 23:52
Summary:
- add project-scoped Asana task reads, normalization, and dispatchability
- expose a host-authenticated raw asana_api tool without generic CRUD
- add contract coverage, live E2E proof, and Asana adapter documentation

Rationale:
- exercise the generic two-read tracker seam with Asana section workflows
- preserve provider-specific mutation richness while keeping tokens out of
  child Codex environments

Tests:
- MIX_DEPS_PATH=/Users/frantic/code/symphony/elixir/deps make all
- SYMPHONY_RUN_ASANA_LIVE_E2E=1 mix test
  test/symphony_elixir/asana_live_e2e_test.exs
- SYMPHONY_RUN_LIVE_E2E=1 SYMPHONY_LIVE_LINEAR_TEAM_KEY=FST mix test
  test/symphony_elixir/live_e2e_test.exs:123

Co-authored-by: Codex <codex@openai.com>
Summary:
- Reduce the Asana adapter notes to configuration, scoped reads, and
  host-authenticated tool behavior.
- Keep the live test command while removing implementation narration.

Rationale:
- The README should explain how to use the adapter without duplicating
  provider implementation details or error catalogs.

Tests:
- git diff --check

Co-authored-by: Codex <codex@openai.com>
Summary:
- Preserve the landed GitHub and Jira adapters while keeping Asana.
- Combine concise README sections, tracker registration, and coverage ignores.

Rationale:
- Asana must be validated and landed against the current main branch without
  dropping any already-landed provider.

Tests:
- git diff --check

Co-authored-by: Codex <codex@openai.com>
@frantic-openai
frantic-openai merged commit c68ba65 into main Jul 20, 2026
2 checks passed
@frantic-openai
frantic-openai deleted the codex/asana-tracker branch July 20, 2026 18:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant