Manifold

· Early access

AI-assisted AUTOSAR review and architecture history.

Async, semantic review of ARXML changes. Element-level history that actually answers "when did this change and why?". Stop reviewing in meetings, start asking your repo. Your IP and your LLM stay on-prem.

01 · The semantic engine

Same commit. Same ARXML. Two renderings.

$ git diff Before
$ git diff HEAD~1 PowertrainComp.arxml

diff --git a/Powertrain/PowertrainComp.arxml ...
index 7d4e9a1..a8f2e91 100644
--- a/Powertrain/PowertrainComp.arxml
+++ b/Powertrain/PowertrainComp.arxml
@@ -14820,15 +14820,8 @@
       <DATA-ELEMENT-REF DEST="...">
         /AUTOSAR/DataTypes/Temperature_T
       </DATA-ELEMENT-REF>
-      <INIT-VALUE>
-        <CONSTANT-REFERENCE>
-          /AUTOSAR/Constants/InitTemp
-        </CONSTANT-REFERENCE>
-      </INIT-VALUE>
       </NONQUEUED-RECEIVER-COM-SPEC>
@@ -15239,12 +15232,12 @@
         <TIMING-EVENT>
           <SHORT-NAME>UpdateBatteryState_Event</SHORT-NAME>
-          <PERIOD>0.1</PERIOD>
+          <PERIOD>0.05</PERIOD>
         </TIMING-EVENT>

... 4,213 more lines changed
    (most are XML formatting noise)
    no way to tell which lines matter
    without reading every one
$ manifold diff After
$ manifold diff HEAD~1

══════════════════════════════════════
Architectural impact: PowertrainComp
══════════════════════════════════════

  BatteryManager (SWC)
    ~ runnable update_battery_state
        period: 100ms -> 50ms

    - R-PORT InPort_TempSensor
        interface: TempReading_IF (SR)
        (verify no consumer remains)

  PowertrainComp (composition)
    ~ BatteryManager regenerated by editor
        (formatting-only delta on 4,213
         surrounding XML lines)

──────────────────────────────────────
Summary
  + 0 ports added
  - 1 port removed
  ~ 1 timing change
  ~ 1 implementation re-export

3 architecturally significant changes.
4,213 lines of XML noise filtered.

02 · The AI layer on top

~/projects/powertrain · manifold ask

We send infrequent updates, typically one email every 2 to 4 weeks during development. Unsubscribe anytime.

Built by engineers who work with AUTOSAR daily.

01 The Problem

You already know the meeting.

Someone opens SystemDesk on a shared screen and walks the room through their architectural change while five senior engineers nod, occasionally interrupt, and pretend not to be checking Slack. Forty-five minutes. Recurring weekly. The artifact it produces, the actual record of what was reviewed and approved, is a calendar event and a few scribbled notes.

It is the workaround for a real problem. A standard git diff on an ARXML file produces thousands of lines of XML noise for a trivial architectural change. Nobody can see at a glance what changed at the SWC, port, runnable, or interface level. Pull requests become a paste of unreadable XML, so they get rubber-stamped at best and skipped at worst.

And then there is the history. When was this port added? Who changed the timing on this runnable? Why does this composition look the way it does? Today the answer is almost universally nobody knows, followed by hours of manual archaeology: checking out old commits, comparing files by eye, asking the senior engineer who happens to remember.

Standard git blame is useless on ARXML because line numbers shift every time the upstream editor regenerates the XML. The institutional memory of your architectural decisions is not recoverable with today's tools, and you have learned to live with the loss.

02 Where AI changes the work

AI-assisted · BYOK · Optional

AI on a semantic model of your architecture. Not on raw XML.

A generic LLM looking at raw ARXML produces hallucinated nonsense. The same model on top of a clean semantic representation of your architecture produces answers your senior architects actually trust. The distinction is the whole moat.

The non-negotiable

AI features run on your own LLM endpoint.

Azure OpenAI. AWS Bedrock. Vertex. A self-hosted model. Your ARXML and your generated code never touch our servers. We never see your prompts. We never see your responses. AI can be disabled entirely, and the rest of the product still delivers its core value: semantic diffs, element-level history, async review, local-first IP. Nothing AI suggests reaches production code without clearing your own gates.

The manifold ask demo at the top of the page shows this against three example questions. The semantic-diff demo next to it shows the layer underneath: the engine that lets a single English query like "why was this port removed?" map onto a structured architectural answer.

03 What we're building

Treat ARXML like the source code it is.

04 For the engineers who scroll this far

When did this change? Who made it? Finally, an answer.

Standard git blame on an ARXML file is line-by-line and meaningless. Line numbers shift every time the upstream editor regenerates the XML. The Manifold equivalent shows you every architectural change to the element you asked about, with author, date, and the actual semantic delta.

~/projects/powertrain — git diff
$ git diff HEAD~1 PowertrainComp.arxml | head -32

diff --git a/Powertrain/PowertrainComp.arxml b/Powertrain/PowertrainComp.arxml
index a3f2d8c..a8f2e91 100644
--- a/Powertrain/PowertrainComp.arxml
+++ b/Powertrain/PowertrainComp.arxml
@@ -14820,15 +14820,8 @@
                       <DATA-ELEMENT-REF DEST="VARIABLE-DATA-PROTOTYPE">
                         /AUTOSAR/DataTypes/Temperature_T
                       </DATA-ELEMENT-REF>
-                      <INIT-VALUE>
-                        <CONSTANT-REFERENCE>
-                          /AUTOSAR/Constants/InitTemp
-                        </CONSTANT-REFERENCE>
-                      </INIT-VALUE>
                     </NONQUEUED-RECEIVER-COM-SPEC>
@@ -15239,12 +15232,12 @@
                 <TIMING-EVENTS>
                   <TIMING-EVENT>
                     <SHORT-NAME>UpdateBatteryState_Event</SHORT-NAME>
-                    <PERIOD>0.1</PERIOD>
+                    <PERIOD>0.05</PERIOD>
                   </TIMING-EVENT>
@@ -28104,9 +28097,3 @@
                   </P-PORT-PROTOTYPE>
-                  <R-PORT-PROTOTYPE UUID="d2ae..7c91">
-                    <SHORT-NAME>InPort_TempSensor</SHORT-NAME>
-                    <REQUIRED-INTERFACE-TREF DEST="SR-INTERFACE">
-                      /AUTOSAR/Interfaces/TempReading_IF
-                    </REQUIRED-INTERFACE-TREF>
-                  </R-PORT-PROTOTYPE>
                 </PORTS>

                                ... 4,213 more lines changed
~/projects/powertrain — manifold blame
$ manifold blame /Powertrain/MotorControl/BatteryManager
 
History of SWC: BatteryManager  (5 changes in last 18 months)
 
────────────────────────────────────────────────────────
2025-02-14  Tomas L.    cleanup: remove InPort_TempSensor
            a8f2e91      R-PORT InPort_TempSensor
                          interface: TempReading_IF (SR)
 
2024-09-12  Lukas K.    feat: tighten timing on update_battery_state
            7d4e9a1     ~ runnable.update_battery_state
                        period: 100ms  50ms
 
2024-06-03  Anna M.     feat: expose battery status to vehicle bus
            b7e4f12     + P-PORT OutPort_BatteryStatus
                          interface: BatteryStatus_IF (SR)
                        + R-PORT InPort_TempSensor
                          interface: TempReading_IF (SR)
 
2024-01-18  Tomas L.    refactor: extract from PowertrainComp
            c2a1b9d     extracted from BatteryControl composition
 
2023-11-04  Lukas K.    initial: BatteryManager SWC
            a3f2d8c     + 2 ports, 1 runnable, BSW dep: NvM
────────────────────────────────────────────────────────
 
$ 

Same Git repository. Same commits. Same ECU target. The difference is whether your tools understand what a port, a runnable, and a composition actually mean.

05 Plays nice with

For teams already using:

Manifold operates on the ARXML your existing toolchain already produces and the generated RTE / BSW code that comes out of it. It does not replace SystemDesk, DaVinci, ISOLAR, or EB tresos. Your architects keep using the editor they know; Git, finally, becomes useful.

06 Trust and IP

Your architecture never leaves your network.

Q.

Does my ARXML get uploaded anywhere?

No. Manifold runs locally on each engineer's machine and on your own CI runners. The CLI, the desktop app, and the VS Code extension all operate on the files already on disk. No telemetry on file contents. Self-hosted deployment is available for teams that require it by policy.

Q.

Do your AI features see my data?

No. AI features connect to your own LLM endpoint: Azure OpenAI, AWS Bedrock, Vertex, or a self-hosted model. We never see prompts, never see responses, never see ARXML. You can disable the AI layer entirely and the rest of the product still delivers its core value.

Both answers hold in every product surface: CLI, desktop app, VS Code extension, CI integrations, and the eventual self-hosted enterprise deployment. This is a non-negotiable for us, not a marketing posture.

07 Common questions

The questions we get asked first.

08 Get notified

Be among the first to try Manifold.

Early access is opening soon. One email when it lands. No marketing in between. Optional follow-up if you want to be a design partner.