Build:
  1. 0
2026-03-15 08:59.25: New job: test parseff.0.1.0, using opam dev
                              from https://github.com/ocaml/opam-repository.git#refs/pull/29526/head (00fc6039ea5006ac1d6a9cd671e025428e45c333)
                              on debian-13-ocaml-5.4/arm32v7

To reproduce locally:

cd $(mktemp -d)
git clone --recursive "https://github.com/ocaml/opam-repository.git" && cd "opam-repository" && git fetch origin "refs/pull/29526/head" && git reset --hard 00fc6039
git fetch origin master
git merge --no-edit 8d34e0cf3c0ccacb6c8a26c24d0e5eb0b17fbf9d
cat > ../Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-13-ocaml-5.4@sha256:c95f25fc7bfaa76edc45bc23c42aceff342f8dc6089f36316509a8ee6536f83f
SHELL [ "/usr/bin/linux32", "/bin/sh", "-c" ]
USER 1000:1000
WORKDIR /home/opam
RUN sudo ln -f /usr/bin/opam-dev /usr/bin/opam
RUN opam init --reinit -ni
RUN opam option solver=builtin-0install && opam config report
ENV OPAMDOWNLOADJOBS="1"
ENV OPAMERRLOGLEN="0"
ENV OPAMPRECISETRACKING="1"
ENV CI="true"
ENV OPAM_REPO_CI="true"
RUN rm -rf opam-repository/
COPY --chown=1000:1000 . opam-repository/
RUN opam repository set-url --strict default opam-repository/
RUN opam update --depexts || true
RUN opam pin add -k version -yn parseff.0.1.0 0.1.0
RUN opam reinstall parseff.0.1.0; \
    res=$?; \
    test "$res" != 31 && exit "$res"; \
    export OPAMCLI=2.0; \
    build_dir=$(opam var prefix)/.opam-switch/build; \
    failed=$(ls "$build_dir"); \
    partial_fails=""; \
    for pkg in $failed; do \
    if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"debian-13\""; then \
    echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
    fi; \
    test "$pkg" != 'parseff.0.1.0' && partial_fails="$partial_fails $pkg"; \
    done; \
    test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
    exit 1
RUN (opam reinstall --with-test parseff.0.1.0) || true
RUN opam reinstall --with-test --verbose parseff.0.1.0; \
    res=$?; \
    test "$res" != 31 && exit "$res"; \
    export OPAMCLI=2.0; \
    build_dir=$(opam var prefix)/.opam-switch/build; \
    failed=$(ls "$build_dir"); \
    partial_fails=""; \
    for pkg in $failed; do \
    if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"debian-13\""; then \
    echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
    fi; \
    test "$pkg" != 'parseff.0.1.0' && partial_fails="$partial_fails $pkg"; \
    done; \
    test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
    exit 1

END-OF-DOCKERFILE
docker build -f ../Dockerfile .

2026-03-15 08:59.25: Using cache hint "ocaml/opam:debian-13-ocaml-5.4@sha256:c95f25fc7bfaa76edc45bc23c42aceff342f8dc6089f36316509a8ee6536f83f-parseff.0.1.0-00fc6039ea5006ac1d6a9cd671e025428e45c333"
2026-03-15 08:59.25: Using OBuilder spec:
((from ocaml/opam:debian-13-ocaml-5.4@sha256:c95f25fc7bfaa76edc45bc23c42aceff342f8dc6089f36316509a8ee6536f83f)
 (shell /usr/bin/linux32 /bin/sh -c)
 (user (uid 1000) (gid 1000))
 (workdir /home/opam)
 (run (shell "sudo ln -f /usr/bin/opam-dev /usr/bin/opam"))
 (run (network host)
      (shell "opam init --reinit --config .opamrc-sandbox -ni"))
 (run (shell "opam option solver=builtin-0install && opam config report"))
 (env OPAMDOWNLOADJOBS 1)
 (env OPAMERRLOGLEN 0)
 (env OPAMPRECISETRACKING 1)
 (env CI true)
 (env OPAM_REPO_CI true)
 (run (shell "rm -rf opam-repository/"))
 (copy (src .) (dst opam-repository/))
 (run (shell "opam repository set-url --strict default opam-repository/"))
 (run (network host)
      (shell "opam update --depexts || true"))
 (run (shell "opam pin add -k version -yn parseff.0.1.0 0.1.0"))
 (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
      (network host)
      (shell  "opam reinstall parseff.0.1.0;\
             \n        res=$?;\
             \n        test \"$res\" != 31 && exit \"$res\";\
             \n        export OPAMCLI=2.0;\
             \n        build_dir=$(opam var prefix)/.opam-switch/build;\
             \n        failed=$(ls \"$build_dir\");\
             \n        partial_fails=\"\";\
             \n        for pkg in $failed; do\
             \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
             \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
             \n          fi;\
             \n          test \"$pkg\" != 'parseff.0.1.0' && partial_fails=\"$partial_fails $pkg\";\
             \n        done;\
             \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
             \n        exit 1"))
 (run (network host)
      (shell "(opam reinstall --with-test parseff.0.1.0) || true"))
 (run (shell  "opam reinstall --with-test --verbose parseff.0.1.0;\
             \n        res=$?;\
             \n        test \"$res\" != 31 && exit \"$res\";\
             \n        export OPAMCLI=2.0;\
             \n        build_dir=$(opam var prefix)/.opam-switch/build;\
             \n        failed=$(ls \"$build_dir\");\
             \n        partial_fails=\"\";\
             \n        for pkg in $failed; do\
             \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
             \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
             \n          fi;\
             \n          test \"$pkg\" != 'parseff.0.1.0' && partial_fails=\"$partial_fails $pkg\";\
             \n        done;\
             \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
             \n        exit 1"))
)

2026-03-15 08:59.25: Waiting for resource in pool OCluster
2026-03-15 08:59.25: Waiting for worker…
2026-03-15 08:59.26: Got resource from pool OCluster
Building on ocaml-1.osuosl.ci.dev
All commits already cached
Updating files:  21% (4011/18443)
Updating files:  22% (4058/18443)
Updating files:  23% (4242/18443)
Updating files:  24% (4427/18443)
Updating files:  25% (4611/18443)
Updating files:  26% (4796/18443)
Updating files:  27% (4980/18443)
Updating files:  28% (5165/18443)
Updating files:  29% (5349/18443)
Updating files:  30% (5533/18443)
Updating files:  31% (5718/18443)
Updating files:  32% (5902/18443)
Updating files:  33% (6087/18443)
Updating files:  34% (6271/18443)
Updating files:  35% (6456/18443)
Updating files:  36% (6640/18443)
Updating files:  37% (6824/18443)
Updating files:  38% (7009/18443)
Updating files:  39% (7193/18443)
Updating files:  40% (7378/18443)
Updating files:  41% (7562/18443)
Updating files:  42% (7747/18443)
Updating files:  43% (7931/18443)
Updating files:  44% (8115/18443)
Updating files:  45% (8300/18443)
Updating files:  46% (8484/18443)
Updating files:  46% (8596/18443)
Updating files:  47% (8669/18443)
Updating files:  48% (8853/18443)
Updating files:  49% (9038/18443)
Updating files:  50% (9222/18443)
Updating files:  51% (9406/18443)
Updating files:  52% (9591/18443)
Updating files:  53% (9775/18443)
Updating files:  54% (9960/18443)
Updating files:  55% (10144/18443)
Updating files:  56% (10329/18443)
Updating files:  57% (10513/18443)
Updating files:  58% (10697/18443)
Updating files:  59% (10882/18443)
Updating files:  60% (11066/18443)
Updating files:  61% (11251/18443)
Updating files:  62% (11435/18443)
Updating files:  63% (11620/18443)
Updating files:  64% (11804/18443)
Updating files:  65% (11988/18443)
Updating files:  66% (12173/18443)
Updating files:  67% (12357/18443)
Updating files:  68% (12542/18443)
Updating files:  69% (12726/18443)
Updating files:  70% (12911/18443)
Updating files:  71% (13095/18443)
Updating files:  72% (13279/18443)
Updating files:  73% (13464/18443)
Updating files:  73% (13488/18443)
Updating files:  74% (13648/18443)
Updating files:  75% (13833/18443)
Updating files:  76% (14017/18443)
Updating files:  77% (14202/18443)
Updating files:  78% (14386/18443)
Updating files:  79% (14570/18443)
Updating files:  80% (14755/18443)
Updating files:  81% (14939/18443)
Updating files:  82% (15124/18443)
Updating files:  83% (15308/18443)
Updating files:  84% (15493/18443)
Updating files:  85% (15677/18443)
Updating files:  86% (15861/18443)
Updating files:  87% (16046/18443)
Updating files:  88% (16230/18443)
Updating files:  89% (16415/18443)
Updating files:  90% (16599/18443)
Updating files:  91% (16784/18443)
Updating files:  92% (16968/18443)
Updating files:  93% (17152/18443)
Updating files:  94% (17337/18443)
Updating files:  95% (17521/18443)
Updating files:  96% (17706/18443)
Updating files:  97% (17890/18443)
Updating files:  97% (18045/18443)
Updating files:  98% (18075/18443)
Updating files:  99% (18259/18443)
Updating files: 100% (18443/18443)
Updating files: 100% (18443/18443), done.
HEAD is now at 8d34e0cf3c Merge pull request #29540 from davesnx/release-melange-fest-0.2.0
Updating 8d34e0cf3c..00fc6039ea
Fast-forward
 packages/parseff/parseff.0.1.0/opam | 49 +++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)
 create mode 100644 packages/parseff/parseff.0.1.0/opam

(from ocaml/opam:debian-13-ocaml-5.4@sha256:c95f25fc7bfaa76edc45bc23c42aceff342f8dc6089f36316509a8ee6536f83f)
Unable to find image 'ocaml/opam:debian-13-ocaml-5.4@sha256:c95f25fc7bfaa76edc45bc23c42aceff342f8dc6089f36316509a8ee6536f83f' locally
docker.io/ocaml/opam@sha256:c95f25fc7bfaa76edc45bc23c42aceff342f8dc6089f36316509a8ee6536f83f: Pulling from ocaml/opam
e7e4c87ce695: Already exists
098244b1fe4f: Already exists
94a818ec2cdc: Already exists
29e77b813c7f: Already exists
b9dc986333a7: Already exists
023a3b8ea315: Already exists
2684ea5ea2fe: Already exists
93c319c970b2: Already exists
03f63d243d48: Already exists
237874024f5b: Already exists
954f264158bf: Already exists
85f6eb6723bd: Already exists
2882e9da3bb0: Already exists
4aabbd87a4c4: Already exists
4f386ee1e947: Already exists
76eac5355b1e: Already exists
7732af2249d2: Already exists
0864fc6233a3: Already exists
74a602ddff51: Already exists
eff8656d1a08: Already exists
480ead97e7de: Already exists
71d9c83b5938: Already exists
4f4fb700ef54: Already exists
46ffbb314b18: Already exists
9ad678cce639: Already exists
cee0ad8655f3: Already exists
d7a6444c98ec: Already exists
fb7ac70d48b8: Already exists
9e9d8c0fc63b: Already exists
4fd15bd8b00c: Already exists
cfb25ffd51ce: Already exists
a1d4a67b1423: Already exists
b5f05950c5d7: Already exists
ffaeb3c9d76d: Already exists
4c3b6722757e: Already exists
0f58a95c7a9b: Pulling fs layer
c3e40142c411: Pulling fs layer
7f8475cb6605: Pulling fs layer
05a50efaf303: Pulling fs layer
6b01dec062a8: Pulling fs layer
9fd1e9989233: Pulling fs layer
0dba846700e5: Pulling fs layer
bf52bc4812dd: Pulling fs layer
1b2b9281aa17: Pulling fs layer
bd50ec9d8592: Pulling fs layer
68e2e1973b70: Pulling fs layer
57cf45132733: Pulling fs layer
265accc134f8: Pulling fs layer
05a50efaf303: Waiting
6b01dec062a8: Waiting
bf52bc4812dd: Waiting
1b2b9281aa17: Waiting
bd50ec9d8592: Waiting
68e2e1973b70: Waiting
57cf45132733: Waiting
9fd1e9989233: Waiting
265accc134f8: Waiting
0dba846700e5: Waiting
c3e40142c411: Download complete
05a50efaf303: Verifying Checksum
05a50efaf303: Download complete
6b01dec062a8: Verifying Checksum
6b01dec062a8: Download complete
9fd1e9989233: Verifying Checksum
9fd1e9989233: Download complete
0dba846700e5: Verifying Checksum
0dba846700e5: Download complete
bf52bc4812dd: Verifying Checksum
bf52bc4812dd: Download complete
1b2b9281aa17: Verifying Checksum
1b2b9281aa17: Download complete
7f8475cb6605: Verifying Checksum
7f8475cb6605: Download complete
68e2e1973b70: Verifying Checksum
68e2e1973b70: Download complete
57cf45132733: Download complete
265accc134f8: Verifying Checksum
265accc134f8: Download complete
0f58a95c7a9b: Verifying Checksum
0f58a95c7a9b: Download complete
bd50ec9d8592: Verifying Checksum
bd50ec9d8592: Download complete
0f58a95c7a9b: Pull complete
c3e40142c411: Pull complete
7f8475cb6605: Pull complete
05a50efaf303: Pull complete
6b01dec062a8: Pull complete
9fd1e9989233: Pull complete
0dba846700e5: Pull complete
bf52bc4812dd: Pull complete
1b2b9281aa17: Pull complete
bd50ec9d8592: Pull complete
68e2e1973b70: Pull complete
57cf45132733: Pull complete
265accc134f8: Pull complete
Digest: sha256:c95f25fc7bfaa76edc45bc23c42aceff342f8dc6089f36316509a8ee6536f83f
Status: Downloaded newer image for ocaml/opam@sha256:c95f25fc7bfaa76edc45bc23c42aceff342f8dc6089f36316509a8ee6536f83f
2026-03-15 08:59.45 ---> using "842f1388ec2987f766804552c28c55560fa02e4f2d5abda53e3e17755e9377f6" from cache

/: (shell /usr/bin/linux32 /bin/sh -c)

/: (user (uid 1000) (gid 1000))

/: (workdir /home/opam)

/home/opam: (run (shell "sudo ln -f /usr/bin/opam-dev /usr/bin/opam"))
2026-03-15 08:59.45 ---> using "ce33c090cee681486d95d74a367be59729600fac719653754f2174b3c9771c51" from cache

/home/opam: (run (network host)
                 (shell "opam init --reinit --config .opamrc-sandbox -ni"))
Configuring from /home/opam/.opamrc-sandbox, then /home/opam/.opamrc, and finally from built-in defaults.
Checking for available remotes: rsync and local, git.
  - you won't be able to use mercurial repositories unless you install the hg command on your system.
  - you won't be able to use darcs repositories unless you install the darcs command on your system.

Continue? [Y/n] y
This version of opam requires an update to the layout of /home/opam/.opam from version 2.0 to version 2.2, which can't be reverted.
You may want to back it up before going further.

[NOTE] The 'jobs' option was reset, its value was 79 and its new value will vary according to the current number of cores on your machine. You can restore the fixed value using:
           opam option jobs=79 --global
Format upgrade done.

<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2026-03-15 08:59.45 ---> using "6c76db98d2847d185390e90ace0943bdfb6d6adba962f8dcd26c60bc2625937d" from cache

/home/opam: (run (shell "opam option solver=builtin-0install && opam config report"))
Set to 'builtin-0install' the field solver in global configuration
# opam config report
# opam-version         2.5.0
# self-upgrade         no
# system               arch=arm32 os=linux os-distribution=debian os-version=13
# solver               builtin-0install
# install-criteria     -changed,-count[avoid-version,solution]
# upgrade-criteria     -count[avoid-version,solution]
# jobs                 15
# repositories         1 (version-controlled)
# pinned               1 (version)
# current-switch       5.4
# invariant            ["ocaml-base-compiler" {= "5.4.0"}]
# compiler-packages    ocaml-base-compiler.5.4.0, ocaml-compiler.5.4.0, ocaml-option-bytecode-only.1, ocaml-options-vanilla.1
# ocaml:native         false
# ocaml:native-tools   false
# ocaml:native-dynlink false
# ocaml:stubsdir       /home/opam/.opam/5.4/lib/ocaml/stublibs:/home/opam/.opam/5.4/lib/ocaml
# ocaml:preinstalled   false
# ocaml:compiler       5.4.0+bytecode-only
2026-03-15 08:59.45 ---> using "9ed5cda145d4b3c88e63b67704995cdd356c06f9f9e273d5bada87220c40dd15" from cache

/home/opam: (env OPAMDOWNLOADJOBS 1)

/home/opam: (env OPAMERRLOGLEN 0)

/home/opam: (env OPAMPRECISETRACKING 1)

/home/opam: (env CI true)

/home/opam: (env OPAM_REPO_CI true)

/home/opam: (run (shell "rm -rf opam-repository/"))
2026-03-15 08:59.45 ---> using "da8dd6faa512006558db46983f2d898758c4e5d6eeb28079d849c0dc2da4d351" from cache

/home/opam: (copy (src .) (dst opam-repository/))
2026-03-15 09:00.01 ---> saved as "6b900a62180f61c433380b9b94ee1755f1a7340f4c9b32a802d9af244e7caa21"

/home/opam: (run (shell "opam repository set-url --strict default opam-repository/"))
[default] Initialised
2026-03-15 09:00.56 ---> saved as "15742c0c3ec66decd5e1f177f6d742ed426abb896ff055c35745032168475326"

/home/opam: (run (network host)
                 (shell "opam update --depexts || true"))
+ /usr/bin/sudo "apt-get" "update"
- Get:1 http://deb.debian.org/debian trixie InRelease [140 kB]
- Get:2 http://deb.debian.org/debian trixie-updates InRelease [47.3 kB]
- Get:3 http://deb.debian.org/debian-security trixie-security InRelease [43.4 kB]
- Get:4 http://deb.debian.org/debian trixie/main armhf Packages [9237 kB]
- Get:5 http://deb.debian.org/debian-security trixie-security/main armhf Packages [105 kB]
- Fetched 9573 kB in 2s (6061 kB/s)
- Reading package lists...
- 
2026-03-15 09:00.59 ---> saved as "df48528f739e8adb30c65993d13a2c5ff37594ce16ee760a883daf877ff48709"

/home/opam: (run (shell "opam pin add -k version -yn parseff.0.1.0 0.1.0"))
parseff is now pinned to version 0.1.0
2026-03-15 09:01.01 ---> saved as "8b6c214d4616c4b8ce2c917acdea2cc51035e4302fa21f1bdfe41e7dd897d1ab"

/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
                 (network host)
                 (shell  "opam reinstall parseff.0.1.0;\
                        \n        res=$?;\
                        \n        test \"$res\" != 31 && exit \"$res\";\
                        \n        export OPAMCLI=2.0;\
                        \n        build_dir=$(opam var prefix)/.opam-switch/build;\
                        \n        failed=$(ls \"$build_dir\");\
                        \n        partial_fails=\"\";\
                        \n        for pkg in $failed; do\
                        \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
                        \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
                        \n          fi;\
                        \n          test \"$pkg\" != 'parseff.0.1.0' && partial_fails=\"$partial_fails $pkg\";\
                        \n        done;\
                        \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
                        \n        exit 1"))
parseff.0.1.0 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 3 packages
  - install dune    3.21.1         [required by parseff]
  - install parseff 0.1.0 (pinned)
  - install re      1.14.0         [required by parseff]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved dune.3.21.1  (cached)
-> retrieved parseff.0.1.0  (https://github.com/davesnx/parseff/releases/download/0.1.0/parseff-0.1.0.tbz)
-> retrieved re.1.14.0  (cached)
-> installed dune.3.21.1
-> installed re.1.14.0
[ERROR] The compilation of parseff.0.1.0 failed at "dune build -p parseff -j 15 @install".

#=== ERROR while compiling parseff.0.1.0 ======================================#
# context              2.5.0 | linux/arm32 | ocaml-base-compiler.5.4.0 | pinned(https://github.com/davesnx/parseff/releases/download/0.1.0/parseff-0.1.0.tbz)
# path                 ~/.opam/5.4/.opam-switch/build/parseff.0.1.0
# command              ~/.opam/opam-init/hooks/sandbox.sh build dune build -p parseff -j 15 @install
# exit-code            1
# env-file             ~/.opam/log/parseff-7-33c58f.env
# output-file          ~/.opam/log/parseff-7-33c58f.out
### output ###
# File "dune", lines 16-24, characters 0-355:
# 16 | (rule
# 17 |  (alias generate-markdown)
# 18 |  (mode
# 19 |   (promote (until-clean)))
# 20 |  (deps %{workspace_root}/_doc/_markdown/parseff/README.md)
# 21 |  (targets README.md)
# 22 |  (action
# 23 |   (system
# 24 |    "printf '<!-- Please do not edit this file directly. Update README.mld instead. -->\\n\\n' > %{targets} && tail -n +2 %{workspace_root}/_doc/_markdown/parseff/README.md >> %{targets}")))
# Error: No rule found for _doc/_markdown/parseff/README.md



<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
+- The following actions failed
| - build parseff 0.1.0
+- 
+- The following changes have been performed
| - install dune 3.21.1
| - install re   1.14.0
+- 
# To update the current shell environment, run: eval $(opam env)

The former state can be restored with:
    /usr/bin/opam switch import "/home/opam/.opam/5.4/.opam-switch/backup/state-20260315090102.export"
[WARNING] OPAMCONFIRMLEVEL was ignored because CLI 2.0 was requested and it was introduced in 2.1.
[WARNING] OPAMCONFIRMLEVEL was ignored because CLI 2.0 was requested and it was introduced in 2.1.
"/usr/bin/linux32" "/bin/sh" "-c" "opam reinstall parseff.0.1.0;
        res=$?;
        test "$res" != 31 && exit "$res";
        export OPAMCLI=2.0;
        build_dir=$(opam var prefix)/.opam-switch/build;
        failed=$(ls "$build_dir");
        partial_fails="";
        for pkg in $failed; do
          if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"debian-13\""; then
            echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.";
          fi;
          test "$pkg" != 'parseff.0.1.0' && partial_fails="$partial_fails $pkg";
        done;
        test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}";
        exit 1" failed with exit status 1
2026-03-15 09:02.41: Job failed: Failed: Build failed
2026-03-15 09:02.41: Log analysis:
2026-03-15 09:02.41: >>> 
[ERROR] The compilation of parseff.0.1.0 failed at "dune build -p parseff -j 15 @install".
 (score = 20)
2026-03-15 09:02.41: >>> 
# Error: No rule found for _doc/_markdown/parseff/README.md
 (score = 48)
2026-03-15 09:02.41: No rule found for _doc/_markdown/parseff/README.md