Skip to content

Function metadata: usage examples, documentation URL, parameter descriptions (HF-300)#1705

Merged
sequba merged 37 commits into
feature/hf-249-function-metadata-apifrom
feature/hf-300-metadata-enrichment
Jul 16, 2026
Merged

Function metadata: usage examples, documentation URL, parameter descriptions (HF-300)#1705
sequba merged 37 commits into
feature/hf-249-function-metadata-apifrom
feature/hf-300-metadata-enrichment

Conversation

@marcin-kordas-hoc

@marcin-kordas-hoc marcin-kordas-hoc commented Jul 13, 2026

Copy link
Copy Markdown
Collaborator

What & why

HF-300 enriches the function-metadata API (getFunctionDetails) so every built-in function returns, in addition to the existing short description and parameter names:

  • a usage example (≥1 per function),
  • a documentation URL — a single shared URL for all functions in v1 (https://hyperformula.handsontable.com/docs/guide/built-in-functions.html), and
  • a short description for each parameter.

Everything is English (translations are a later phase; the structure is already i18n-ready). Extends the SUM/SUMIF exemplar already on the base branch to the whole catalogue (363 functions).

Base: feature/hf-249-function-metadata-api (#1692). Sibling: #1699 (docs single source).

How

  • The single documentation URL is defined once as DEFAULT_DOCUMENTATION_URL in buildFunctionDescriptions.ts and applied as the built-in default — not repeated per function. Custom (user-registered) functions keep ''.
  • examples + per-parameter description authored per category file (categories/*.ts). Parameter counts/names and entry order are unchanged; only bodies were filled.

Testing (in the paired hyperformula-tests PR)

  • Coverage-parity: every listable built-in exposes the shared URL, ≥1 example, and a non-empty description for every parameter.
  • Example-validity: every authored example is built in HyperFormula and asserted not to be a parse (#ERROR!) or unknown-function (#NAME?) error.
  • Existing SUM/SUMIF assertions updated to the .html URL.
  • Arity guard (buildFunctionDetails) stays green across all 363 functions.

Local gates: tsc (src+test) clean · eslint clean · full jest 0 failures · metadata+coverage+example-validity specs pass.

Notes for review

  • No i18n changes — by design. DoD scopes HF-300 to English; no functions are added/renamed, so the 17-language-pack rule does not apply. English-form examples show under every locale for now (accepted "translations later" trade-off).
  • Operators (HF.ADD, …) are listable built-ins, so they get examples/descriptions per the DoD's "each function".
  • Aliases inherit their target's authored doc automatically (resolveFunctionMetadata), so they need no separate authoring.
  • Guide table untouched → the HF-249 bullet 3: generate built-in functions docs from the HF API (single source of truth) #1699 docs drift-check stays green (none of the new fields are rendered in the Function ID/Description/Syntax table).
  • Descriptions describe HyperFormula's actual behavior (verified against the plugins), not Excel where they diverge — e.g. MOD result takes the sign of the dividend, FILTER accepts a single row/column, XNPV's first date is the reference point.

Decisions and citations: ADR in the paired hyperformula-tests repo (adr/2026-07-13-hf300-function-metadata-enrichment.md).

Source: https://app.clickup.com/t/86caprtgj


Note

Low Risk
Metadata and public API shape changes only; no formula evaluation or runtime logic paths are modified.

Overview
HF-300 fills the function-metadata catalogue so getFunctionDetails can expose full English help for every built-in, not just names and short blurbs.

Each entry in categories/*.ts now includes a shared documentationUrl (built-in-functions.html), at least one examples formula, and non-empty per-parameter description text (HyperFormula-specific behavior where it differs from Excel). Type comments in FunctionDescription.ts and buildFunctionDescriptions.ts are updated to match: built-ins are expected to ship authored docs; documentationUrl is passed through from the catalogue instead of defaulting to ''.

The HF-249 migration script is documented with a warning that regenerating category files from the guide wipes hand-authored examples and parameter descriptions. Category file headers note the same. INT’s short description is tightened to match truncate-toward-zero semantics.

Reviewed by Cursor Bugbot for commit 90fdd26. Bugbot is set up for automated code reviews on this repo. Configure here.

marcin-kordas-hoc and others added 17 commits July 13, 2026 12:02
Author examples + per-parameter descriptions manually per category file;
single shared documentationUrl (with .html) centralized as a builder
default; English-only; arity-match constraint; HF behavior as the
semantic oracle. Audit-harness 100% PASS.

Source: https://app.clickup.com/t/86caprtgj
ADR: docs/adr/2026-07-13-hf300-function-metadata-enrichment.md
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… (HF-300)

Source: https://app.clickup.com/t/86caprtgj
ADR: docs/adr/2026-07-13-hf300-function-metadata-enrichment.md
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…manipulation (HF-300)

Source: https://app.clickup.com/t/86caprtgj
ADR: docs/adr/2026-07-13-hf300-function-metadata-enrichment.md
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…se (HF-300)

Source: https://app.clickup.com/t/86caprtgj
ADR: docs/adr/2026-07-13-hf300-function-metadata-enrichment.md
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…nd time (HF-300)

Source: https://app.clickup.com/t/86caprtgj
ADR: docs/adr/2026-07-13-hf300-function-metadata-enrichment.md
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ering (HF-300)

Source: https://app.clickup.com/t/86caprtgj
ADR: docs/adr/2026-07-13-hf300-function-metadata-enrichment.md
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ial (HF-300)

Source: https://app.clickup.com/t/86caprtgj
ADR: docs/adr/2026-07-13-hf300-function-metadata-enrichment.md
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ation (HF-300)

Source: https://app.clickup.com/t/86caprtgj
ADR: docs/adr/2026-07-13-hf300-function-metadata-enrichment.md
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…l (HF-300)

Source: https://app.clickup.com/t/86caprtgj
ADR: docs/adr/2026-07-13-hf300-function-metadata-enrichment.md
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… and reference (HF-300)

Source: https://app.clickup.com/t/86caprtgj
ADR: docs/adr/2026-07-13-hf300-function-metadata-enrichment.md
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…nd trigonometry (HF-300)

Source: https://app.clickup.com/t/86caprtgj
ADR: docs/adr/2026-07-13-hf300-function-metadata-enrichment.md
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… functions (HF-300)

Source: https://app.clickup.com/t/86caprtgj
ADR: docs/adr/2026-07-13-hf300-function-metadata-enrichment.md
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…or (HF-300)

Source: https://app.clickup.com/t/86caprtgj
ADR: docs/adr/2026-07-13-hf300-function-metadata-enrichment.md
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…tical (HF-300)

Source: https://app.clickup.com/t/86caprtgj
ADR: docs/adr/2026-07-13-hf300-function-metadata-enrichment.md
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…HF-300)

Source: https://app.clickup.com/t/86caprtgj
ADR: docs/adr/2026-07-13-hf300-function-metadata-enrichment.md
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Source: https://app.clickup.com/t/86caprtgj
ADR: docs/adr/2026-07-13-hf300-function-metadata-enrichment.md
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…(HF-300)

Accuracy-review findings:
- MOD: result has the sign of the dividend (HF uses JS remainder), not the divisor.
- CEILING/FLOOR: Significance sign requirement is one-directional (only positive Number + negative Significance errors).
- XNPV: the first date is the reference point; other dates must fall on or after it (not the minimum date).
- COUNTBLANK: accepts repeating range/value arguments (repeatLastArgs).
- FILTER: SourceArray must be a single row or column (no 2-D range).
- EVEN/ODD: reworded 'nearest ... away from zero'; ARRAYFORMULA: stronger SUM example.

Source: https://app.clickup.com/t/86caprtgj
ADR: docs/adr/2026-07-13-hf300-function-metadata-enrichment.md
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@qunabu

qunabu commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Source: https://app.clickup.com/t/86caprtgj
ADR: docs/adr/2026-07-13-hf300-function-metadata-enrichment.md
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions

github-actions Bot commented Jul 13, 2026

Copy link
Copy Markdown

Performance comparison of head (90fdd26) vs base (40b6468)

                                     testName |   base |   head | change
------------------------------------------------------------------------
                                      Sheet A | 389.83 | 389.14 | -0.18%
                                      Sheet B | 127.31 | 127.33 | +0.02%
                                      Sheet T | 109.02 | 110.52 | +1.38%
                                Column ranges | 411.59 | 410.53 | -0.26%
Sheet A:  change value, add/remove row/column |  12.88 |  13.13 | +1.94%
 Sheet B: change value, add/remove row/column | 112.58 | 113.94 | +1.21%
                   Column ranges - add column | 127.57 | 125.23 | -1.83%
                Column ranges - without batch |  394.1 | 386.42 | -1.95%
                        Column ranges - batch | 104.38 | 100.87 | -3.36%

marcin-kordas-hoc and others added 9 commits July 13, 2026 15:52
Review findings (prep-flip T5b/T6):
- All 13 category headers said 'parameter descriptions are authored in a later phase' (now authored) and the migration-script overwrite footgun was warned in only one file. Reworded every header to note examples + descriptions are hand-authored and would be overwritten by re-running the generator; mirrored the fix in the generator template.
- Added an explicit overwrite WARNING to scripts/hf249-migrate-function-docs.ts.
- buildFunctionDetails JSDoc no longer claims parameter descriptions are 'empty for functions not yet authored' (contradicted the authored state).

Source: https://app.clickup.com/t/86caprtgj
ADR: docs/adr/2026-07-13-hf300-function-metadata-enrichment.md
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Bare TRUE/FALSE literals are not recognized by HyperFormula (they resolve to
'Named expression TRUE not recognized' → #NAME?), so 51 example formulas across
logical/statistical/information/text would have surfaced an error to any user
running them. Switched to the TRUE()/FALSE() function form, which evaluates.

Source: https://app.clickup.com/t/86caprtgj
ADR: docs/adr/2026-07-13-hf300-function-metadata-enrichment.md
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
MS-Graph Excel cross-check flagged INT(-2.5): HF returns -2 (RoundingPlugin
truncates toward zero for negatives), Excel returns -3 (floors). The parameter
description wrongly said 'round down toward negative infinity' (Excel behavior);
corrected to HF's actual truncate-toward-zero semantics.

Source: https://app.clickup.com/t/86caprtgj
ADR: docs/adr/2026-07-13-hf300-function-metadata-enrichment.md
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…-300)

MS-Graph cross-check surfaced examples that don't evaluate cleanly in a default
engine:
- DATEVALUE: '2020-03-30' (ISO) is not in HF's default dateFormats (DD/MM/YYYY)
  -> #VALUE!; switched to a parseable date.
- MAXA/MINA: a literal text argument yields #VALUE! (text-as-0 applies to ranges,
  not literal args); use numeric+boolean literals instead.

Source: https://app.clickup.com/t/86caprtgj
ADR: docs/adr/2026-07-13-hf300-function-metadata-enrichment.md
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…iew (HF-300)

Review round (sequba + line-by-line + prep-ultra):
- MATCH/VLOOKUP/HLOOKUP: drop the 'HyperFormula skips empty cells when matching
  approximately' claim — that behavior (HF-223 / #1697) is not in this base
  branch, and approximate match returns #N/A on gapped data. Don't overstate.
- INT: shortDescription said 'rounds down' (Excel floor) while the parameter
  description says 'toward zero' — self-contradictory. Reworded to HF's actual
  behavior (integer part, fractional part discarded).
- DATE Year: drop the direct 'Excel' comparison per ADR dec_2 (describe HF
  behavior, not Excel); wording otherwise unchanged.

Source: https://app.clickup.com/t/86caprtgj
ADR: docs/adr/2026-07-13-hf300-function-metadata-enrichment.md
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
hf-developer review: files under docs/ are built + sitemap-indexed by VuePress
(sitemap excludes only /404.html, no citation-strip plugin active), so the ADR's
internal [vrf_/dec_/con_] markers and task IDs would leak as a public page.
Relocate to repo-root adr/ (not built by VuePress, not in the npm files allowlist).

Source: https://app.clickup.com/t/86caprtgj
ADR: adr/2026-07-13-hf300-function-metadata-enrichment.md
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ta-api' into feature/hf-300-metadata-enrichment

# Conflicts:
#	CHANGELOG.md
#	src/interpreter/functionMetadata/categories/array-manipulation.ts
#	src/interpreter/functionMetadata/categories/database.ts
#	src/interpreter/functionMetadata/categories/date-and-time.ts
#	src/interpreter/functionMetadata/categories/engineering.ts
#	src/interpreter/functionMetadata/categories/financial.ts
#	src/interpreter/functionMetadata/categories/information.ts
#	src/interpreter/functionMetadata/categories/logical.ts
#	src/interpreter/functionMetadata/categories/lookup-and-reference.ts
#	src/interpreter/functionMetadata/categories/math-and-trigonometry.ts
#	src/interpreter/functionMetadata/categories/matrix-functions.ts
#	src/interpreter/functionMetadata/categories/operator.ts
#	src/interpreter/functionMetadata/categories/statistical.ts
#	src/interpreter/functionMetadata/categories/text.ts
…(HF-300)

Post-merge with the updated base (snake_case params #1709 + new functions):
- Author XIRR, VSTACK, HSTACK, and fill TBILLEQ/TBILLPRICE 'discount' (base-added).
- Restore examples mis-attached during conflict resolution: SEQUENCE, XNPV, GCD.
- Remove SUM's stale per-function documentationUrl re-introduced by the merge
  (the shared .html default supplies it; comment already said it's absent).

Source: https://app.clickup.com/t/86caprtgj
ADR: adr/2026-07-13-hf300-function-metadata-enrichment.md
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…300)

The base merge restored base's INT shortDescription ('Rounds a number down'),
re-introducing the self-contradiction with the toward-zero parameter description.
Re-apply the HF-accurate 'integer part' wording.

Source: https://app.clickup.com/t/86caprtgj
ADR: adr/2026-07-13-hf300-function-metadata-enrichment.md
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@marcin-kordas-hoc
marcin-kordas-hoc marked this pull request as ready for review July 15, 2026 03:41
marcin-kordas-hoc and others added 4 commits July 15, 2026 03:52
Bugbot flagged INT shipping GCD examples (=GCD(24, 36) / =GCD(A1:A5)) —
a valid-but-wrong-function mis-attach introduced during merge
reconciliation. Restore INT's own examples (=INT(8.9) / =INT(-8.9)).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Source: https://app.clickup.com/t/86caprtgj
ADR: adr/2026-07-13-hf300-function-metadata-enrichment.md
…param backticks (HF-300)

- BETA.DIST second example switched from the PDF-with-bounds form
  (=BETA.DIST(2,2,3,FALSE(),0,4) → HF 1.5 vs Excel 0.375, a known engine
  PDF-scaling bug) to the cumulative bounded form (=BETA.DIST(2,2,3,TRUE(),0,4)
  → 0.6875, matches Excel). Still exercises the optional A/B bounds args, but
  no longer ships an example whose output is wrong.
- Removed backticks from six date-and-time PARAMETER descriptions
  (nullDate/dateFormats/timeFormats). The metadata field is plain text and
  every other parameter description in the catalogue is plain prose; backticks
  rendered literally for API consumers. shortDescription markdown links are
  migrated (#1692) content and left untouched.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Source: https://app.clickup.com/t/86caprtgj
ADR: adr/2026-07-13-hf300-function-metadata-enrichment.md
…it (HF-300)

Source-traceability pass over all 366 catalogue entries (descriptions traced
to plugin implementations + docs/guide) found 4 net-new authored parameter
descriptions that over- or mis-stated behavior vs the code:

- POISSON.DIST `mean`: "must be greater than 0" contradicted the typecheck
  (minValue: 0 — mean=0 is accepted and computed). → "must be non-negative".
- GEOMEAN / HARMEAN `number1`: "whose positive values are averaged" implied
  non-positive values are filtered; actually any value <= 0 returns #NUM!.
  → state all values must be positive, else #NUM!.
- SEQUENCE `rows`/`cols`: "must be a literal number ... causes #VALUE!" was
  too narrow (parse-time also accepts numeric-string/unary/boolean literals)
  and unconditional (#VALUE! only when the result spans more than one cell;
  =SEQUENCE(A1) with A1=1 is a 1x1 result, no error). → "resolvable at parse
  time" + qualified #VALUE! condition, matching SequencePlugin's own JSDoc.

The audit found ZERO net-new defects in the other 362 entries; remaining flags
are inherited migrated shortDescriptions (docs/guide-owned), reported separately.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Source: https://app.clickup.com/t/86caprtgj
ADR: adr/2026-07-13-hf300-function-metadata-enrichment.md
The ADR is an internal decision record and doesn't belong in the published
engine package; it now lives in the paired (private) hyperformula-tests repo.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Source: https://app.clickup.com/t/86caprtgj
@marcin-kordas-hoc
marcin-kordas-hoc requested a review from sequba July 15, 2026 08:21
parameters,
repeatLastArgs: metadata.repeatLastArgs ?? 0,
documentationUrl: doc.documentationUrl ?? '',
documentationUrl: doc.documentationUrl ?? DEFAULT_DOCUMENTATION_URL,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't like this default. It may become obsolete easily. Set 'https://hyperformula.handsontable.com/docs/guide/built-in-functions.html' for all functions in FunctionDoc files.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in e634594. Removed the ?? DEFAULT_DOCUMENTATION_URL builder fallback — documentationUrl is now a required FunctionDoc field, set explicitly on every catalogue entry via the shared DEFAULT_DOCUMENTATION_URL const (moved to FunctionDescription.ts). buildFunctionDetails reads doc.documentationUrl directly.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@cursor remove this shared const entirely. Every function should set it as a regular string literal

@cursor cursor Bot Jul 16, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perfect! I've successfully removed the DEFAULT_DOCUMENTATION_URL constant entirely. Here's what I did:

Changes made:

  • Removed the constant definition from FunctionDescription.ts
  • Removed the re-export from buildFunctionDescriptions.ts
  • Updated all 13 category files to use the literal string 'https://hyperformula.handsontable.com/docs/guide/built-in-functions.html' directly (366 total occurrences replaced)
  • Updated JSDoc comments that referenced the removed constant

Commits:

  • d5229a30d - Remove DEFAULT_DOCUMENTATION_URL constant, use literal strings
  • 9c52d849b - Remove stale references to DEFAULT_DOCUMENTATION_URL in JSDoc comments

All changes have been pushed to feature/hf-300-metadata-enrichment.

Open in Web Open in Cursor 

Comment thread CHANGELOG.md Outdated
Comment thread scripts/hf249-migrate-function-docs.ts
marcin-kordas-hoc and others added 2 commits July 15, 2026 23:42
…ta-api' into feature/hf-300-metadata-enrichment

# Conflicts:
#	src/interpreter/functionMetadata/categories/financial.ts
#	src/interpreter/functionMetadata/categories/math-and-trigonometry.ts
#	src/interpreter/functionMetadata/categories/statistical.ts
#	src/interpreter/functionMetadata/categories/text.ts
…der default (HF-300)

Addresses Kuba's #1705 review:
- documentationUrl: the builder-level `?? DEFAULT_DOCUMENTATION_URL` fallback was
  too implicit ("may become obsolete easily"). The URL is now set explicitly on
  every FunctionDoc (via the shared DEFAULT_DOCUMENTATION_URL const, relocated to
  FunctionDescription.ts), the field is required, and buildFunctionDetails reads
  doc.documentationUrl directly. No behavioural change (same URL for all built-ins).
- CHANGELOG: removed the separate HF-300 entry; the #1692 metadata-API entry covers it.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Source: https://app.clickup.com/t/86caprtgj
@marcin-kordas-hoc
marcin-kordas-hoc requested a review from sequba July 16, 2026 08:24
@codecov

codecov Bot commented Jul 16, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.87%. Comparing base (40b6468) to head (e634594).

Additional details and impacted files

Impacted file tree graph

@@                           Coverage Diff                            @@
##           feature/hf-249-function-metadata-api    #1705      +/-   ##
========================================================================
+ Coverage                                 96.43%   96.87%   +0.43%     
========================================================================
  Files                                       192      192              
  Lines                                     15589    15603      +14     
  Branches                                   3447     3446       -1     
========================================================================
+ Hits                                      15034    15115      +81     
+ Misses                                      555      488      -67     
Files with missing lines Coverage Δ
...nterpreter/functionMetadata/FunctionDescription.ts 100.00% <100.00%> (ø)
...eter/functionMetadata/buildFunctionDescriptions.ts 100.00% <100.00%> (ø)
.../functionMetadata/categories/array-manipulation.ts 100.00% <100.00%> (ø)
...nterpreter/functionMetadata/categories/database.ts 100.00% <100.00%> (ø)
...reter/functionMetadata/categories/date-and-time.ts 100.00% <100.00%> (ø)
...rpreter/functionMetadata/categories/engineering.ts 100.00% <100.00%> (ø)
...terpreter/functionMetadata/categories/financial.ts 100.00% <100.00%> (ø)
...rpreter/functionMetadata/categories/information.ts 100.00% <100.00%> (ø)
...interpreter/functionMetadata/categories/logical.ts 100.00% <100.00%> (ø)
...unctionMetadata/categories/lookup-and-reference.ts 100.00% <100.00%> (ø)
... and 5 more

... and 7 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

cursoragent and others added 2 commits July 16, 2026 13:24
Each function now sets documentationUrl as a string literal instead of
referencing a shared constant, per code review feedback.

Co-authored-by: Kuba Sekowski <sequba@users.noreply.github.com>
Co-authored-by: Kuba Sekowski <sequba@users.noreply.github.com>
@qunabu

qunabu commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Comment thread src/interpreter/functionMetadata/FunctionDescription.ts Outdated
Comment thread src/interpreter/functionMetadata/FunctionDescription.ts Outdated
@sequba
sequba merged commit d5d77bd into feature/hf-249-function-metadata-api Jul 16, 2026
24 of 27 checks passed
@sequba
sequba deleted the feature/hf-300-metadata-enrichment branch July 16, 2026 13:29
marcin-kordas-hoc added a commit that referenced this pull request Jul 22, 2026
…cted funcs

The HF-300 shared-URL const was dropped during the #1705 merge; the enrichment
spec imports it. Restore it in buildFunctionDescriptions, revert the builder to
read doc.documentationUrl directly (no fallback, per #1705 review), and set
documentationUrl: '' explicitly on the protected OFFSET/VERSION entries, which
stay out of HF-300 enrichment scope.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants