Repository navigation
Prepare syntax, syntax_flutter, and syntax_noir 0.0.1 - #11
Conversation
Set the three libraries to 0.0.1 and drop publish_to so they can be uploaded in that order. Keep the example and the workspace root unpublished. Pin local syntax checkouts in pubspec_overrides.yaml, which pub does not archive. Drop editor claims from the public docs. Co-authored-by: Leo Farias <leoafarias@users.noreply.github.com>
Stop gitignoring the checked-in pubspec_overrides.yaml files. Pub warns when a tracked file is gitignored. .pubignore keeps those pins out of the syntax_flutter and syntax_noir archives. Co-authored-by: Leo Farias <leoafarias@users.noreply.github.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
leoafarias
left a comment
There was a problem hiding this comment.
Nuclear Review — Request changes
(Posted as COMMENT: the connected account authored this PR, so GitHub blocks REQUEST_CHANGES from this identity. Nuclear verdict is still Request changes.)
Head eec7425 · agent bc-9a30cb2c (Argon high)
Blocking
-
minimum-sdkfails at rootflutter pub get(.github/workflows/ci.yml,pubspec.yamlworkspace)- Cause: example left the workspace, so root
flutter pub geton Flutter 3.35.7 dies onpackage_graph.json/ missingsyntax_exampledeps. - Residual: on 3.35.x, running example
pub getafter root (mirroringcheck) still fails — Flutter walks up from the example duringensureReadyForPlatformSpecificTooling. Resolve the example before rootflutter pub get, or usedart pub getat the workspace root. (checkon 3.47.5 is green for a reason.)
- Cause: example left the workspace, so root
-
In-place body edits to Accepted ADRs (
docs/decisions/0001-…,0002-…)**Amended by:** ADR-0003metadata is fine.- Rewriting the Accepted
## Decisionbodies (droppingSyntaxTextEditingController/ editor claims) is not — keep the history in 0001/0002 and leave the correction in ADR-0003 unless Leo waives.
Suggestions
- Pre-publish narration in published READMEs (
syntax_noir, example, root “not on pub.dev yet”) will read stale the moment 0.0.1 lands — trim or move to root Development.
Slop/Artifacts
None. .pubignore for overrides looks right; no plan/temp Markdown.
Verdict
Request changes
Ship lock noted: syntax → syntax_flutter → syntax_noir @ 0.0.1; repo stays private. Architect consolidates; no merge from Nuclear.
Flutter 3.35 fails workspace pub get when a member's example has no package config. Get the example first in minimum-sdk. Leave it out of the workspace. Co-authored-by: Leo Farias <leoafarias@users.noreply.github.com>
Flutter 3.35 fails workspace pub get unless the example already has a package config, so check, deploy-demo, and minimum-sdk resolve it first. ADR-0001 and ADR-0002 keep their Amended by lines and their original Decision text. Co-authored-by: Leo Farias <leoafarias@users.noreply.github.com>
leoafarias
left a comment
There was a problem hiding this comment.
Nuclear Review (re-pass) — Approve
(Posted as COMMENT: connected account authored this PR, so GitHub blocks APPROVE from this identity. Nuclear verdict is Approve.)
Head 6cc61f7 · agent bc-6dcc54b9 (Argon high)
Blocking
None. Prior blockers cleared:
- minimum-sdk / Flutter 3.35 — example
flutter pub getruns before root incheck,minimum-sdk, anddeploy-demo; example stays out of the workspace. - ADR-0001 / ADR-0002 — Decision bodies restored; only
Amended by: ADR-0003added. ADR-0003 Accepted + Amends.
Suggestions
- Pre-publish “After syntax is on pub.dev…” / “not on pub.dev yet” lines in published READMEs — trim after the 0.0.1 wave.
Slop/Artifacts
None.
Verdict
Approve
Architect consolidates; no merge from Nuclear. CI was still finishing check at review time — merge gate is green CI + Leo.
Delete the three decision files and drop the README links to them. The packages stay read-only highlighters, and the 0.0.1 publish prep is unchanged. Co-authored-by: Leo Farias <leoafarias@users.noreply.github.com>
leoafarias
left a comment
There was a problem hiding this comment.
Nuclear Review (re-pass) — Approve
(Posted as COMMENT: connected account authored this PR, so GitHub blocks APPROVE from this identity. Nuclear verdict is Approve.)
Head 08e8d6e · agent bc-bef9eed7 (Argon high)
Prior Approve @ 6cc61f7 voided by this head (ADR wipe + publish prep).
Blocking
None.
- ADR wipe — Leo authorized. All three under
docs/decisions/gone; README / package README links cleared; no dangling refs or plan leftovers. - 0.0.1 publish set —
syntax/syntax_flutter/syntax_noirat 0.0.1;publish_to: noneonly on workspace root + example; path overrides in.pubignore-excludedpubspec_overrides.yaml; read-only scope preserved. - CI — example
flutter pub getbefore root still in place;check,minimum-sdk,syntax-noir,generated-filesgreen.
Suggestions
- Pre-publish “not on pub.dev yet” / “After
syntaxis on pub.dev…” lines in root / example /syntax_noirREADMEs — trim after the 0.0.1 wave.
Slop/Artifacts
None.
Verdict
Approve
Architect consolidates; no merge from Nuclear.
Summary
Public-readiness cleanup and 0.0.1 publish prep for the three libraries. Nothing was uploaded to pub.dev, and the GitHub repo was not made public.
Leo’s call:
syntax_noirships in the first 0.0.1 wave withsyntaxandsyntax_flutter. The architecture decision records are removed from this repo.syntax,syntax_flutter, andsyntax_noirare version 0.0.1.publish_to: noneis removed from those three only.syntax_workspace) and the example app (syntax_example) staypublish_to: none.syntax: ^0.0.1, which is>=0.0.1 <0.1.0. Publishsyntaxfirst, thensyntax_flutterandsyntax_noirin either order after that.https://github.com/btwld/syntax-dartuntil a site exists. Repository fields already point at that repo (.../tree/main/packages/<name>). GitHub visibility stays private.pubspec_overrides.yamland are listed in.pubignore, so they are in git for CI and absent from the pub archive.syntax0.0.1 is on pub.dev,flutter pub getin the published example resolvessyntaxfrom pub andsyntax_flutterfrompath: ../.docs/decisions/are deleted. The root README andpackages/syntax/README.mdno longer link to them. There is noAGENTS.md, contributing guide, cursor rule, or CI check that mentioned them.CI
check,deploy-demo, andminimum-sdkrunflutter pub getinpackages/syntax_flutter/examplebefore the workspaceflutter pub get. On Flutter 3.35, rootflutter pub getpasses--exampleand then fails withdependencies for syntax_example missingunless that example already has a package config (flutter/flutter#175650). The example stays out of the workspace. That order was green on6cc61f7; this push re-runs CI.Publish order
From a clean checkout of the merged commit.
dart pub publishwas not run.dart pub loginif needed.dart pub publish --directory packages/syntax --dry-rundart pub publish --directory packages/syntaxsyntax,syntax_flutter, andsyntax_noirreturned HTTP 404 when this PR was opened.dart pub publish --directory packages/syntax_flutter --dry-rundart pub publish --directory packages/syntax_flutterdart pub publish --directory packages/syntax_noir --dry-rundart pub publish --directory packages/syntax_noirDo not publish
packages/syntax_flutter/exampleor the workspace root.syntax_noirdry-run prints one hint:pubspec_overrides.yamloverrides the non-dev dependencysyntax. That file is not in the archive. The published dependency is hostedsyntax: ^0.0.1. Confirm the file list, then publish.noir: ^0.0.4resolved to noir 0.0.5 here (>=0.0.4 <0.1.0).^0.0.1accepts later 0.0.x releases and rejects 0.1.0. A 0.1.0 ofsyntaxneeds a constraint bump insyntax_flutterandsyntax_noirbefore those packages can depend on it.resolution: workspacestays onsyntaxandsyntax_flutter. Pub ignores it when the package is a dependency, and dry-run does not warn.dart pub getin an unpacked package directory fails untildart pub unpackclears it. The published example does not use workspace resolution.Dry-run on this branch
syntaxsyntax_flutterexample/pubspec.yaml, LICENSE, CHANGELOG. Omitsexample/pubspec_overrides.yaml.syntax_noirpubspec_overrides.yaml.A copy of the example with the override removed fails
flutter pub getonly becausesyntaxis not on pub.dev yet (could not find package syntax). It does not fail on workspace resolution.What else changed
editortopic is gone fromsyntax_flutter.docs/internalgitignore note is gone. That directory was never committed. No secrets in the tree. History was not rewritten.syntax_noirno longer publishespath: ../syntax. CI and this checkout still resolve the sibling package throughpubspec_overrides.yaml.Left as-is on purpose:
highlightedTextSpan,editorColorOf,renderHtml, andrenderAnsistay public.cacheExtentignore onIndexedCodeViewportstays. The package floor is Flutter>=3.35, and CI is 3.47, where that parameter is deprecated.https://github.com/btwld/syntax-dart. No visibility change.Tests
dart testinpackages/syntax: 265 passed (before this docs-only commit)flutter testinpackages/syntax_flutter: 67 passeddart testinpackages/syntax_noir: passed, including the noir driverdart formatclean on the CI setdart analyze --fatal-infos/flutter analyze --fatal-infosclean forsyntax,syntax_flutter, the example, andsyntax_noirflutter pub get, then rootflutter pub get, then the syntax and syntax_flutter testsminimum-sdkruns6cc61f7:check,minimum-sdk,syntax-noir, andgenerated-filespassedStill manual
syntax0.0.1, thensyntax_flutter0.0.1 andsyntax_noir0.0.1.SyntaxTextEditingController(and, on the first, the editor and review implementation):origin/virtualize-large-file-views(editor.dart,patch_controller.dart,syntax_text_controller.dart)origin/ci/deploy-demoorigin/feat/syntax-noirorigin/perf/virtualized-highlighted-codeThese mention the old controller only in docs or the changelog:
origin/feat/difforigin/feat/viewerorigin/feat/engine-adr-0003homepage: https://github.com/btwld/syntax-darton the three packages. Until then that URL is the placeholder.deploy-demo.ymlalready uses the configure-pages base path, so the public site path/syntax-dart/does not need a workflow edit.