[DISCUSS] Incubating Proposal for Maka Agent

tison <[email protected]> Wed, 5 Aug 2026 13:49:14 +0800
Newsgroups gmane.comp.apache.incubator.general
Message-ID <CALL9TYKyOp0Jky4-cMLcV6znBJTJfmS+9UU4k3pqYwZb4ORy6g@mail.gmail.com>
--000000000000072d0e06584657a1
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi IPMC,

I would like to propose Maka[1] as a new apache incubator project, you can
find the proposal[2] of Maka for more detail.

[1] https://github.com/maka-agent/maka-agent/
[2]
https://cwiki.apache.org/confluence/spaces/INCUBATOR/pages/446070971/Maka+P=
roposal

Best,
tison.

Full text of the proposal below:

## Abstract

Maka is a local-first AI agent runtime and workspace. It records model
messages, tool calls, tool results, permission decisions, and termination
events in append-only logs. Sessions, model context, durable tasks, and
recovery are derived from those logs, allowing interrupted or long-running
agent work to be inspected, replayed, resumed, and evaluated.

## Proposal

Maka provides a single execution runtime shared by its desktop application,
terminal TUI, non-interactive CLI, and headless task runner. Its design
separates durable execution facts from the temporary context sent to a
model.

Maka provides:

- Append-only execution records. Model messages, tool calls, tool results,
permission decisions, and termination events are persisted before they are
projected into user-facing state.
- Rebuildable state. Sessions, active context, UI state, and recovery
decisions are derived from the event log rather than maintained as
independent sources of truth.
- Context management without history deletion. Tool-result pruning and LLM
compaction reduce the context used for the next inference while preserving
the original execution record.
- Durable work beyond one turn. The headless runner gives a task its own
identity, event log, budgets, permission pauses, continuation, and resume
behavior.
- Evidence-based completion. The runtime records a model's completion claim
separately from verified process and tool outcomes.
- Multiple surfaces over one runtime. Maka provides an Electron desktop
application, a terminal TUI, a non-interactive CLI, and a headless runner.

Maka is written primarily in TypeScript and runs on Node.js. Sessions,
settings, credentials, and run records remain on the user's machine by
default.

## Background

An AI agent combines an LLM with tools, permissions, persistent state, and
a control loop. As tasks become longer, the surrounding runtime must handle
partial tool execution, context limits, process interruption, permission
boundaries, and recovery. Maka focuses on this runtime layer. The public
GitHub project was created on 2026-05-27 and has been developed through
public issues and pull requests since then.

## Rationale

Many agent applications persist a final conversation but not the full
execution process that produced it. This makes interrupted work difficult
to recover and tool behavior difficult to audit or evaluate. Maka treats
execution history as durable evidence and uses that evidence to rebuild
state and resume work.

The ASF offers neutral ownership, public decision-making, meritocratic
community growth, and long-term stewardship. These properties are important
for an agent runtime intended to support integrations and products
maintained by independent organizations.

## Initial Goals

- Transfer the codebase to the ASF and complete name, provenance, license,
and IP clearance.
- Conduct technical and governance decisions on the public mailing list.
- Document a contributor-to-committer path based on sustained, reviewable
contributions.
- Broaden ownership across runtime, desktop, integrations, documentation,
and release engineering.
- Produce an Apache-compliant source release and establish a repeatable
release process.
- Grow adoption without coupling the project to a single model vendor or
commercial sponsor.

## Current Status

### Meritocracy

Development takes place through public issues and pull requests.
Contributions are reviewed on technical merit, and repeat contributors have
taken responsibility for runtime, desktop, computer-use, provider, and
documentation work. During incubation, the project will make this
progression explicit through documented committer criteria and public
discussion.

### Community

As of 2026-08-03, the repository has 1,104 GitHub stars, 123 forks, and 40
contributors. In the preceding 30 days, 34 authors contributed commits.
Collaboration currently takes place through GitHub issues and pull
requests; during incubation, project-wide decisions will move to the public
development mailing list.

### Core Developers

- Jie Wen (jackwener) =E2=80=94 project initiator; runtime architecture and
distributed-systems design. He is a PMC member and committer of Apache
Arrow, Apache DataFusion, and Apache Doris.
- Yuhan Lei (Astro-Han) =E2=80=94 runtime, evaluation, benchmarking, and de=
sktop
development; also an OpenCLI contributor.
- Kun Li (likun666661) =E2=80=94 runtime event-log architecture, the headle=
ss task
loop, and completion verification.

Additional module owners and repeat contributors include Haoqing Wang
(hqhq1025, computer-use), Zhanghan Gao (YayoiNanoka), sunheyi6, Nyvo-io,
Yongtao Wang (M4n5ter), Colafornia, GabrielDrapor, MicroGery, zhiiw, and
others.

### Alignment

Maka is intended to be a vendor-neutral runtime used below model providers
and end-user applications. ASF governance can keep its interfaces,
execution records, and extension points independent of any single vendor.
The project also shares engineering concerns with ASF data and
infrastructure projects, including append-only logs, projections, durable
state, and reproducible execution.

## Known Risks

### Project Name

A preliminary web and repository search found unrelated uses of "Maka,"
including a Chinese design and marketing service and several small
open-source projects. None appears to provide the same developer-facing AI
agent runtime, but this preliminary search is not a substitute for the ASF
name review. The podling will complete `PODLINGNAMESEARCH` during
incubation and will rename the project if required by ASF policy.

### Orphan Products

The project is young, so long-term continuity has not yet been
demonstrated. The risk is reduced by multiple active maintainers and
contributors who already own runtime, desktop, headless, and computer-use
components. Incubation will focus on documenting these ownership
boundaries, adding committers, and making release knowledge shared rather
than person-specific.

### Inexperience with Open Source

One initial committer is a PMC member and committer of Apache Arrow, Apache
DataFusion, and Apache Doris. Several other developers have experience
contributing to open-source projects. Most of the proposed community has
not yet operated an Apache release or conducted project business on an ASF
mailing list. The mentors will help the podling establish release, voting,
IP, and community practices, and those practices will be documented so they
do not depend on one experienced committer.

### Length of Incubation

The project has no fixed graduation deadline. The initial expectation is
approximately two years, but graduation will depend on a sustainable and
diverse committer base, public governance, shared release ownership, and
multiple Apache-compliant releases.

### Homogenous Developers

The initial committers currently share overlapping social and professional
networks, and much real-time coordination occurs in Chinese. They
nevertheless represent multiple employers, a university, and independent
contributors. The project will conduct decisions and votes in English on
the public development mailing list, improve English documentation, and
recruit contributors outside the current networks.

### Reliance on Salaried Developers

The initial committers represent several employers, a university, and
individual contributors; they are not all paid by one organization. Paid
work may nevertheless influence where some contributors spend their time.
The podling will track affiliation diversity and broaden the committer base
so development and releases do not depend on one employer or a small group.

### Relationships with Other Apache Products

Maka does not duplicate an existing ASF product. It operates at the AI
agent runtime layer, while sharing concepts with Apache data and
infrastructure projects such as append-only logs, projections, and durable
state. Future integrations may expose ASF storage, data-processing, and
observability systems as tools or backends, but no such integration is
required for incubation.

### An Excessive Fascination with the Apache Brand

The project seeks neutral governance, public decision-making, a
meritocratic committer model, and long-term stewardship. The initial goals
focus on community and release practices rather than promotion under the
Apache name.

## Documentation

- Repository and README: [
https://github.com/maka-agent/maka-agent](https://github.com/maka-agent/mak=
a-agent)
- Documentation index: [docs/README.md](
https://github.com/maka-agent/maka-agent/blob/main/docs/README.md)
- Architecture guide: [ARCHITECTURE.md](
https://github.com/maka-agent/maka-agent/blob/main/ARCHITECTURE.md), with
an eight-chapter index and bilingual English/Chinese chapters under
[docs/architecture/](
https://github.com/maka-agent/maka-agent/tree/main/docs/architecture).
- Additional design and verification documents cover computer-use safety,
execution evidence, durable workspaces, permissions, skills, and evaluation=
.

## Initial Source

The source is currently hosted at [
https://github.com/maka-agent/maka-agent](https://github.com/maka-agent/mak=
a-agent).
The public repository was created on 2026-05-27 and is licensed under the
Apache License, Version 2.0. If the proposal is accepted, the repository
will move to [
https://github.com/apache/incubator-maka](https://github.com/apache/incubat=
or-maka).
A future project website will use [https://maka.apache.org](
https://maka.apache.org).

## Source and Intellectual Property Submission Plan

The existing source is licensed under the Apache License, Version 2.0.
Before or during code transfer, the podling will:

- Obtain ICLAs from all initial committers and determine with the Incubator
PMC whether a Software Grant or CCLA is required for any contributed code.
- Verify the provenance of the initial codebase and identify code owned by
contributors or their employers.
- Bring source headers, `LICENSE`, and `NOTICE` files into line with ASF
policy.
- Remove, replace, or relicense any code or asset that cannot be
contributed to the ASF.
- Re-run dependency and assembled-artifact license audits before the first
Apache release.

### External Dependencies

Maka is a TypeScript monorepo. Most of the runtime is implemented in Maka's
own workspace packages; the repository currently has 33 direct third-party
production dependencies. The full transitive closure is larger and is
generated from `package-lock.json` for each release rather than maintained
by hand in this proposal.

The dependencies fall into five groups:

- Runtime and user interfaces. Node.js (currently 22.19 or later) runs the
shared runtime, CLI, and headless surfaces. Electron/Chromium hosts the
desktop application. React and Astryx provide the desktop UI, while
`@earendil-works/pi-tui` provides the terminal TUI. The CLI and headless
runner do not require Electron or React.
- Model access. The Apache-2.0 Vercel `ai` SDK and its Anthropic, Cohere,
Google, OpenAI, and OpenAI-compatible adapters normalize model-provider
protocols. Maka does not require a particular commercial model service or a
Maka-operated control plane. A user may configure a remote provider or a
local compatible endpoint; credentials remain local and are not part of any
release.
- Agent protocols and local execution. `@modelcontextprotocol/sdk`
implements MCP interoperability. `node-pty` and the headless xterm packages
provide interactive shell sessions and terminal emulation,
`fs-native-extensions` provides cross-process file locking, and
`@jackwener/opencli` provides browser automation over CDP. Smaller
libraries such as `undici`, `ws`, `yaml`, and `zod` handle networking,
configuration, and validation.
- Optional integrations. Slack, Lark/Feishu, and WeCom SDKs are used only
when the user enables the corresponding bot channel. These services are
integrations, not infrastructure required to build or start Maka.
- Build and test tooling. TypeScript, esbuild, Vite, Electron Builder,
Playwright, Storybook, and Tailwind CSS build and test the project; Biome
provides linting and formatting. These tools are not loaded by the CLI or
headless runtime. Build outputs that enter a binary release are covered by
the release audit described below.

#### License and Release Treatment

On 2026-08-03, this inventory was regenerated and verified after `npm ci`
in a clean checkout. The result matches the checked-in file and records 239
production npm packages: 180 MIT, 21 Apache-2.0, 19 ISC, 15 BSD-3-Clause, 2
BSD-2-Clause, 1 Python-2.0, and 1 BlueOak-1.0.0. These are ASF Category A
licenses, and that inventory records no Category X dependency.

Generated npm inventory (exact `package@version`, grouped by selected
license)

The following list is generated from the exact `@maka/desktop` production
dependency closure in `package-lock.json` by
`scripts/generate-third-party-notices.mjs`:

- Apache-2.0 (21)
  - `@ai-sdk/[email protected]`
  - `@ai-sdk/[email protected]`
  - `@ai-sdk/[email protected]`
  - `@ai-sdk/[email protected]`
  - `@ai-sdk/[email protected]`
  - `@ai-sdk/[email protected]`
  - `@ai-sdk/[email protected]`
  - `@ai-sdk/[email protected]`
  - `@jackwener/[email protected]`
  - `@mozilla/[email protected]`
  - `@vercel/[email protected]`
  - `@workflow/[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
- BSD-2-Clause (2)
  - `@mixmark-io/[email protected]`
  - `[email protected]`
- BSD-3-Clause (15)
  - `@protobufjs/[email protected]`
  - `@protobufjs/[email protected]`
  - `@protobufjs/[email protected]`
  - `@protobufjs/[email protected]`
  - `@protobufjs/[email protected]`
  - `@protobufjs/[email protected]`
  - `@protobufjs/[email protected]`
  - `@protobufjs/[email protected]`
  - `@protobufjs/[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
- BlueOak-1.0.0 (1)
  - `[email protected]`
- ISC (19)
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
- MIT (180)
  - `@astryxdesign/[email protected]`
  - `@astryxdesign/[email protected]`
  - `@colors/[email protected]`
  - `@formatjs/[email protected]`
  - `@formatjs/[email protected]`
  - `@formatjs/[email protected]`
  - `@hono/[email protected]`
  - `@larksuiteoapi/[email protected]`
  - `@modelcontextprotocol/[email protected]`
  - `@slack/[email protected]`
  - `@slack/[email protected]`
  - `@slack/[email protected]`
  - `@slack/[email protected]`
  - `@standard-schema/[email protected]`
  - `@stylexjs/[email protected]`
  - `@types/[email protected]`
  - `@types/[email protected]`
  - `@types/[email protected]`
  - `@wecom/[email protected]`
  - `@xterm/[email protected]`
  - `@xterm/[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
  - `[email protected]`
- Python-2.0 (1)
  - `[email protected]`

This inventory is enforced by `scripts/generate-third-party-notices.mjs`.
The script walks the exact desktop production closure, rejects missing or
unapproved license metadata, records the selected license for dual-licensed
packages, and generates the complete license text shipped as
`THIRD_PARTY_NOTICES.txt`. The source distribution does not vendor
`node_modules`. Binary distributions carry separate notices for the npm
closure, Electron/Chromium, fonts, and icon assets.

Build-only dependencies

`lightningcss` (MPL-2.0) and `caniuse-lite` (CC-BY-4.0) are used only to
build the desktop application. They are not redistributed as components of
Maka.

Optional macOS dependency

The optional macOS computer-use backend uses `cua-driver`, which is based
on the MIT-licensed `trycua/cua` project. The `cua-driver` executable and
its Rust crates are not included in Maka source or binary distributions.
Apache releases ship with this backend disabled, so `cua-driver` is not
part of the release dependency inventory above.

### Cryptography

Maka is not primarily a cryptographic product; it uses standard TLS/HTTPS
libraries for talking to model providers and standard hashing for
content-addressed artifacts. If any bundled cryptographic functionality
triggers ASF export-notification (ECCN) requirements, we will notify the
ASF and complete the required paperwork.

## Required Resources

### Mailing Lists

- [email protected]
- [email protected]
- [email protected]
- [email protected]

### Subversion Directory

Not requested.

### Git Repositories

- [
https://gitbox.apache.org/repos/asf/incubator-maka.git](https://gitbox.apac=
he.org/repos/asf/incubator-maka.git)
- Mirrored to [
https://github.com/apache/incubator-maka](https://github.com/apache/incubat=
or-maka)

### Issue Tracking

The community would like to continue using GitHub Issues at [
https://github.com/apache/incubator-maka/issues](https://github.com/apache/=
incubator-maka/issues)
.

### Other Resources

The community would like to continue using GitHub Actions for continuous
integration. No additional infrastructure is currently required.

## Initial Committers

| Name | GitHub ID | Mail Address | Affiliation |
| --- | --- | --- | --- |
| Jie Wen | jackwener | [email protected] | Botiverse, Inc. |
| Yuhan Lei | Astro-Han | [email protected] | Shanghai CENO New
Material Technology Co., Ltd. |
| Kun Li | likun666661 | [email protected] | Shanghai Geshu Zhizhi
Technology Co., Ltd. |
| Zhanghan Gao | YayoiNanoka | [email protected] | South China
University of Technology |
| Haoqing Wang | hqhq1025 | [email protected] | Beijing University of Posts
and Telecommunications |
| Yuhang Chang | MicroGery | [email protected] | Shenzhen Morphi
Intelligence Technology Co., Ltd. |
| Yongtao Wang | M4n5ter | [email protected] | Individual |

## Sponsors

### Champion

tison [[email protected]]

### Nominated Mentors

- tison [[email protected]]
- Hao Ding [[email protected]]
- Zhuoran Shang [[email protected]]
- Xinyu Tan [[email protected]]

### Sponsor Entity

- The Incubator

--000000000000072d0e06584657a1--