Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,12 @@
</p>

Markover is an **Early macOS preview** for reviewing Markdown as a document
tree and returning block-level feedback to an agent.
tree and returning block-level feedback to an agent. It is free and
MIT-licensed, requires no account, and keeps ordinary review data in your
macOS account.

<p align="center">
<img src="./docs/user/assets/markover-review-editor@2x.png" width="920" alt="Markover in Ember Light showing the review inbox, a launch brief in the center document tree, and precise feedback with two labeled attachments.">
<a href="https://lastobelus.github.io/markover/#demo"><img src="./docs/user/assets/markover-review-editor@2x.png" width="920" alt="Markover in Ember Light showing the review inbox, a launch brief in the center document tree, and precise feedback with two labeled attachments."></a>
</p>

## Features
Expand Down Expand Up @@ -64,6 +66,9 @@ npx --yes \
--summary "Explain why this document exists and what feedback would help."
```

The public npm package named `markover` is unrelated to this project. Use the
exact GitHub release-package URL above.

The command downloads the Apple Silicon app on first use. Native Intel releases
are deferred to the Broad announcement roadmap in
[issue #80](https://github.com/lastobelus/markover/issues/80).
Expand Down
15 changes: 12 additions & 3 deletions doc/launch/issue-16/capture-manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@
"command": "npm run capture:stills",
"sourceCommit": "e6b14ea6843c7990fa3303a1c01db77a75d28827"
},
"status": "foundation",
"status": "captured",
"source": {
"redesignPullRequest": 195,
"designBrief": "doc/design/markover-design-brief.md",
"fixtureRevision": 1,
"captureCommit": null
"captureCommit": "4abf64ad667ad27bbc2e1b3d25a145e5a0eb36e6"
},
"staging": {
"command": "npm run capture:stage",
Expand Down Expand Up @@ -69,16 +69,25 @@
}
],
"movie": {
"path": "docs/user/assets/markover-focused-preview-demo.mp4",
"sha256": "34ab9293f4278af9920d6176a36d4fb7da7824f4b83d453ec72aa21c400332f9",
"poster": {
"path": "docs/user/assets/markover-demo-poster.jpg",
"sha256": "800d960723c05fe1ca0dcf3f07568fdec924e0fb91e2e88b653ec6b90e765d8a"
},
"captionSource": "doc/launch/issue-16/demo-captions.srt",
"transcript": "doc/launch/issue-16/demo-transcript.md",
"minimumSeconds": 30,
"maximumSeconds": 60,
"durationSeconds": 44,
"width": 1920,
"height": 1080,
"framesPerSecond": 30,
"videoCodec": "h264",
"audio": false,
"fastStart": true,
"captions": "burned-in",
"transcript": "required"
"inspectedCheckpointsSeconds": [0.5, 6.5, 14.5, 23.5, 31.5, 39.5, 43]
},
"privacy": {
"allowOnlyInventedFixtureData": true,
Expand Down
27 changes: 27 additions & 0 deletions doc/launch/issue-16/demo-captions.srt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
1
00:00:00,000 --> 00:00:01,000
Open one review from the inbox.

2
00:00:01,000 --> 00:00:07,000
Review agent-written Markdown as a document tree.

3
00:00:07,000 --> 00:00:15,000
Attach labeled visual context to one exact block.

4
00:00:15,000 --> 00:00:25,000
Propose an exact edit without changing the source document.

5
00:00:25,000 --> 00:00:32,000
Scan the complete review before handing it back.

6
00:00:32,000 --> 00:00:40,000
Agent retrieves one structured handoff.

7
00:00:40,000 --> 00:00:44,000
Markover — Free, MIT-licensed macOS early preview.
25 changes: 13 additions & 12 deletions doc/launch/issue-16/demo-storyboard.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,38 +14,39 @@

## Timeline

### 0:00–0:07 — Begin with the review inbox
### 0:00–0:07 — Open one review from the inbox

Show the prepared Inbox with **Needs me** active and open **Launch readiness
brief**. Let the three-pane Ember Light layout establish the review, selected
document block, and feedback pane.
Show the prepared Inbox with **Needs me** active, then open **Launch readiness
brief** from its review row. Let the three-pane Ember Light layout establish
the selected document block and feedback pane.

Caption: **Review agent-written Markdown as a document tree.**
Captions: **Open one review from the inbox.** then **Review agent-written
Markdown as a document tree.**

### 0:07–0:19 — Add feedback with visual context
### 0:07–0:15 — Inspect feedback with visual context

Select the heading and reveal its feedback with the two fixture-owned images,
**workflow overview** and **annotation details**. Keep their rewritten Markdown
references visible long enough to read.

Caption: **Attach labeled visual context to one exact block.**

### 0:19–0:30 — Propose an exact source change
### 0:15–0:25 — Inspect an exact source change

Select the opening paragraph and expand Source. Show the existing proposal that
narrows the rollout from everyone to the design-partner group. Hold on the real
word-level diff.

Caption: **Propose an exact edit without changing the source document.**

### 0:30–0:39 — Review every annotation together
### 0:25–0:32 — Review every annotation together

Switch to Projects and then **All annotations**. Briefly show the four varied
annotations and their block context in the redesigned browser.

Caption: **Scan the complete review before handing it back.**

### 0:39–0:52 — Retrieve one structured handoff
### 0:32–0:40 — Retrieve one structured handoff

Return to the terminal and run:

Expand All @@ -60,10 +61,10 @@ or inspect canonical Markover state.

Caption: **Return one structured handoff to the agent.**

### 0:52–0:56 — End card
### 0:40–0:44 — End card

Show the Markover lockup, **Structured review for Markdown**, and
`github.com/lastobelus/markover`.
Show the Markover lockup, **Structured review for Markdown**, **Free,
MIT-licensed macOS early preview**, and `github.com/lastobelus/markover`.

## Pages transcript

Expand Down
22 changes: 22 additions & 0 deletions doc/launch/issue-16/demo-transcript.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Markover focused-preview demo transcript

The 44-second silent demo uses burned-in captions and only invented fixture data.

Markover starts with a sanitized participant guide, then opens the
launch-readiness review from the **Needs me** inbox. The current Ember Light
App header and Left, Center, and Right panes establish the review. The reviewer
sees agent-written Markdown as a document tree with precise feedback and two
labeled images attached to one heading.

On the opening paragraph, Markover displays an exact word-level source proposal
without changing the source document. The reviewer switches to **Projects** and
**All annotations** to scan the complete review.

Finally, the fixture-only CLI returns structured JSON containing the review
status, block feedback, attachment IDs and labels, and source proposal. The demo
ends on the canonical Markover lockup, “Structured review for Markdown,” the
free, MIT-licensed macOS early-preview boundary, and the repository address.

No canonical review, private path, real repository, real pull request, real
thread identity, credential, notification, unrelated application chrome, or
incidental audio appears in the recording.
38 changes: 38 additions & 0 deletions doc/launch/issue-16/focused-preview-copy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Focused-preview launch copy

These are staging drafts, not published announcements. Issue #17 owns the
audience choice, final release facts, publication timing, and feedback triage.
Each draft keeps the same verified product boundary but asks its audience a
different useful question.

## Coding-agent community

I’m preparing an early macOS preview of Markover, a free MIT-licensed,
local-first app for reviewing agent-written Markdown block by block. It needs
no account: ordinary review data stays in your macOS account. I’m looking for
Codex and coding-agent users willing to test one real document review and
report where the open → annotate → structured handoff loop breaks down—not for
stars. Apple Silicon macOS 14+ only for this preview. [Watch the 44-second
workflow](https://lastobelus.github.io/markover/#demo).

## Design-partner invitation

Could you try one document you already ask an agent to write, then review it
in Markover instead of flattening feedback into chat? The early macOS preview
is free, MIT licensed, local-first, and requires no account. I most need the
exact moment the workflow becomes slower or less clear than your current
process, plus any feedback the agent misinterprets after retrieval. Apple
Silicon macOS 14+ only. [Setup and limitations](https://lastobelus.github.io/markover/guide/).

## GitHub repository summary

Markover is a local-first macOS app for reviewing agent-produced Markdown and
returning structured, block-level feedback to the agent thread. The early
preview is free and MIT licensed, requires no account, and currently supports
Apple Silicon macOS 14+. Start with the [current UI and 44-second
demo](https://lastobelus.github.io/markover/#demo), then report concrete
workflow failures in [Discussions](https://github.com/lastobelus/markover/discussions).

Before publishing any draft, issue #17 must replace staging language with the
verified release tag, previous known-good release, rollback threshold, support
window, and chosen community’s native format.
11 changes: 11 additions & 0 deletions doc/launch/issue-16/github-social-preview.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
61 changes: 61 additions & 0 deletions doc/launch/issue-16/launch-manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
{
"format": "markover-preview-launch",
"version": 1,
"desiredRepositoryMetadata": {
"description": "Local-first macOS app for reviewing agent-produced Markdown and returning structured, block-level feedback to the agent thread.",
"homepage": "https://lastobelus.github.io/markover/",
"topics": [
"markdown",
"document-review",
"annotations",
"ai-agents",
"coding-agents",
"codex",
"local-first",
"macos",
"electron",
"developer-tools"
],
"socialPreview": "docs/user/assets/markover-github-social-preview.png",
"profilePins": [
"lastobelus/markover",
"lastobelus/lastCode"
]
},
"assets": {
"strongestScreenshot": "docs/user/assets/markover-review-editor@2x.png",
"demo": {
"path": "docs/user/assets/markover-focused-preview-demo.mp4",
"sha256": "34ab9293f4278af9920d6176a36d4fb7da7824f4b83d453ec72aa21c400332f9"
},
"poster": {
"path": "docs/user/assets/markover-demo-poster.jpg",
"sha256": "800d960723c05fe1ca0dcf3f07568fdec924e0fb91e2e88b653ec6b90e765d8a"
},
"githubSocialPreview": {
"path": "docs/user/assets/markover-github-social-preview.png",
"sha256": "ff34c863c45af754c59050b4999372468a82258ca080ca841efda8421f168757"
},
"pagesSocialCard": {
"path": "docs/user/assets/markover-pages-social-card.png",
"sha256": "2bc498658310cd16609916f8b09047fa2515ea254d911d273bf21253cc337779"
},
"transcript": "doc/launch/issue-16/demo-transcript.md",
"captions": "doc/launch/issue-16/demo-captions.srt",
"tailoredCopy": "doc/launch/issue-16/focused-preview-copy.md"
},
"liveVerification": {
"repositoryMetadataApplied": true,
"socialPreviewApplied": false,
"profilePinsApplied": false,
"pagesDeploymentVerified": false
},
"outstanding": {
"socialPreview": "Upload the prepared PNG in an owner-authenticated GitHub repository settings session.",
"profilePins": "Confirm the maintainer-profile change before pinning Markover and lastCode.",
"pagesDeployment": "Verify the canonical URLs, sharing card, demo playback, and narrow layout after the stack reaches main."
},
"focusedPreviewTag": null,
"releaseBlockers": [10, 11],
"announcementOwner": 17
}
13 changes: 13 additions & 0 deletions doc/launch/issue-16/pages-social-card.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
41 changes: 41 additions & 0 deletions docs/user/agents/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,22 @@
<meta name="theme-color" content="#e8e2d8">
<meta name="description" content="Exact open, get, edit, and interpretation guidance for agents using Markover.">
<title>For agents — Markover documentation</title>
<link rel="canonical" href="https://lastobelus.github.io/markover/agents/">
<meta property="og:type" content="website">
<meta property="og:site_name" content="Markover">
<meta property="og:title" content="For agents — Markover documentation">
<meta property="og:description" content="Exact open, get, edit, and interpretation guidance for agents using Markover.">
<meta property="og:url" content="https://lastobelus.github.io/markover/agents/">
<meta property="og:image" content="https://lastobelus.github.io/markover/assets/markover-pages-social-card.png">
<meta property="og:image:type" content="image/png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:image:alt" content="Markover — Structured review for Markdown.">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="For agents — Markover documentation">
<meta name="twitter:description" content="Exact open, get, edit, and interpretation guidance for agents using Markover.">
<meta name="twitter:image" content="https://lastobelus.github.io/markover/assets/markover-pages-social-card.png">
<meta name="twitter:image:alt" content="Markover — Structured review for Markdown.">
<link rel="icon" href="../assets/markover-mark.svg" type="image/svg+xml">
<link rel="stylesheet" href="../styles.css">
</head>
Expand All @@ -21,6 +37,7 @@
<p>Agents</p>
<a href="#overview" aria-current="page">Agent workflow</a>
<a href="#open">Open a review</a>
<a href="#identity-examples">Identity examples</a>
<a href="#wait">Wait for the reviewer</a>
<a href="#get">Retrieve the handoff</a>
<a href="#format">Validate the format</a>
Expand Down Expand Up @@ -67,6 +84,30 @@ <h2>Open one review</h2>
<p>Custom-scheme links work through macOS, but thread-hosts including T3 Code and the Codex app may strip or decline them. The standalone command is the reliable handoff.</p>
</section>

<section id="identity-examples">
<h2>Use the identity your agent can actually observe</h2>
<p>These routes are supported when their environment variable is present and nonblank. Keep the thread host and model provider as separate facts, use the local machine name, and omit any host-owned thread ID you cannot observe.</p>
<h3>T3 Code with Codex</h3>
<pre><code>npx --yes \
--package=https://github.com/lastobelus/markover/releases/latest/download/markover-cli.tgz \
markover open ./DOCUMENT.md \
--summary "Review these decisions before implementation." \
--thread-id "$CODEX_THREAD_ID" \
--thread-host-kind t3code \
--thread-host-provider codex \
--thread-host-machine "$(hostname)"</code></pre>
<h3>Claude Code with Claude</h3>
<pre><code>npx --yes \
--package=https://github.com/lastobelus/markover/releases/latest/download/markover-cli.tgz \
markover open ./DOCUMENT.md \
--summary "Review these decisions before implementation." \
--thread-id "$CLAUDE_CODE_SESSION_ID" \
--thread-host-kind claude-code \
--thread-host-provider claude \
--thread-host-machine "$(hostname)"</code></pre>
<p>When neither exact identifier is available, generate a fresh high-entropy <code>--handoff-key</code> for that one review instead of inventing thread metadata.</p>
</section>

<section id="wait">
<h2>Stop and wait for the reviewer</h2>
<p>After <code>open</code> succeeds and you have given the reviewer the link, raw review ID, and Terminal fallback, stop. Do not poll Markover or wait through a blocking process. The reviewer can work in Markover for as long as needed.</p>
Expand Down
Binary file added docs/user/assets/markover-demo-poster.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/user/assets/markover-pages-social-card.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 16 additions & 0 deletions docs/user/compatibility/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,22 @@
<meta name="theme-color" content="#e8e2d8">
<meta name="description" content="Official mapping from Markover review format versions to compatible application releases.">
<title>Review format compatibility — Markover documentation</title>
<link rel="canonical" href="https://lastobelus.github.io/markover/compatibility/">
<meta property="og:type" content="website">
<meta property="og:site_name" content="Markover">
<meta property="og:title" content="Review format compatibility — Markover documentation">
<meta property="og:description" content="Official mapping from Markover review format versions to compatible application releases.">
<meta property="og:url" content="https://lastobelus.github.io/markover/compatibility/">
<meta property="og:image" content="https://lastobelus.github.io/markover/assets/markover-pages-social-card.png">
<meta property="og:image:type" content="image/png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:image:alt" content="Markover — Structured review for Markdown.">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Review format compatibility — Markover documentation">
<meta name="twitter:description" content="Official mapping from Markover review format versions to compatible application releases.">
<meta name="twitter:image" content="https://lastobelus.github.io/markover/assets/markover-pages-social-card.png">
<meta name="twitter:image:alt" content="Markover — Structured review for Markdown.">
<link rel="icon" href="../assets/markover-mark.svg" type="image/svg+xml">
<link rel="stylesheet" href="../styles.css">
</head>
Expand Down
Loading