NavigaraNavigara
OrganizationsDistributionCompareResearch
NavigaraNavigara
OrganizationsDistributionCompareResearch
All developers

afourney

Developer

afourney

adamfo@microsoft.com

90 commits~5 files/commit

Performance

YoY:+1%
2026Previous year

Insights

Key patterns and highlights from this developer's activity.

Peak MonthMar'25421 performance
Growth Trend↓100%vs prior period
Avg Files/Commit5files per commit
Active Days44of 455 days
Top Repomarkitdown61 commits

Effort Over Time

Breakdown of growth, maintenance, and fixes effort over time.

Bug Behavior

Beta

Bugs introduced vs. fixed over time.

Investment Quality

Beta

Reclassifies engineering effort based on bug attribution. Commits that introduced bugs are retrospectively counted as poor investments.

30%Productive TimeGrowth 68% + Fixes 32%
18%Maintenance Time
53%Wasted Time
How it works

Methodology

Investment Quality reclassifies engineering effort based on bug attribution data. Commits identified as buggy origins (those that introduced bugs later fixed by someone) have their grow and maintenance time moved into the Wasted Time category. Their waste (fix commits) remains counted as productive. All other commits retain their standard classification: grow is productive, maintenance is maintenance, and waste (fixes) is productive.

Relationship to Growth / Maintenance / Fixes

The standard model classifies commits as Growth, Maintenance, or Fixes. Investment Quality adds a quality lens: a commit that introduced a bug is retrospectively counted as a poor investment — the engineering time spent on it was wasted because it ultimately required additional fix work. Fix commits (Fixes in the standard model) are reframed as productive, because fixing bugs is valuable work.

Proposed API Endpoint

Currently computed client-side from commit and bug attribution data. Ideal server-side endpoint:

POST /v1/organizations/{orgId}/investment-quality
Content-Type: application/json

Request:
{
  "startTime": "2025-01-01T00:00:00Z",
  "endTime": "2025-12-31T23:59:59Z",
  "bucketSize": "BUCKET_SIZE_MONTH",
  "groupBy": ["repository_id" | "deliverer_email"]
}

Response:
{
  "productivePct": 74,
  "maintenancePct": 18,
  "wastedPct": 8,
  "buckets": [
    {
      "bucketStart": "2025-01-01T00:00:00Z",
      "productive": 4.2,
      "maintenance": 1.8,
      "wasted": 0.6
    }
  ]
}

Recent Activity

Latest analyzed commits from this developer.

HashMessageDateFilesEffort
63cbbd9This commit implements a crucial **security enhancement** and **documentation update** for the `markitdown-mcp` package. It introduces a **runtime security warning** that is emitted to `stderr` if the HTTP server is configured to bind to a non-localhost interface, directly impacting the server's startup behavior in `packages/markitdown-mcp/src/markitdown_mcp/__main__.py`. Concurrently, the `packages/markitdown-mcp/README.md` has been significantly updated to include this important warning, clarify usage instructions, and expand on general security considerations. This ensures users are proactively informed about potential security implications of their server configuration, improving overall security posture and user guidance.Mar 303maint
4a5340fThis commit performs a **version bump** for the **`markitdown`** package, updating its internal version string from `0.1.5b2` to `0.1.5` within the `__about__.py` file. This **maintenance chore** signifies the preparation for a stable release, moving the package out of its beta phase. It ensures that the distributed package correctly reflects its official version, providing clarity for users and downstream dependencies.Feb 202maint
2b6ec9fThis commit introduces a **new feature** to the **`markitdown` package** by adding `text/markdown` to the `Accept` header of its HTTP request session. This modification, implemented during the session's initialization, explicitly signals a preference for markdown content when the package makes web requests. The change enhances content negotiation, potentially improving compatibility and ensuring the correct content type is received from servers that offer markdown.Feb 131grow
dde250aThis commit performs essential **dependency maintenance** by updating the required versions of the `mammoth` and `pdfminer.six` libraries. A key aspect of this change is addressing **CVE-2025-64512** in `pdfminer.six` by ensuring a minimum patched version is used, thereby enhancing the project's **security posture**. Consequently, the **`markitdown`** package's own version is incremented to `0.1.4` in `markitdown/__about__.py`, reflecting these critical updates. This ensures that `markitdown` users benefit from improved security and updated external library functionality.Dec 12maint
3d4fe3cUpgrade mammoth to 1.11.0 (#1452)Oct 202–
447c047This commit introduces a **new test case** within the `markitdown` package to specifically verify the correct resolution of "rlinks" (resource links) when processing documents. The **test enhancement** adds `test_doc_rlink` to `packages/markitdown/tests/test_module_misc.py`, ensuring that the `markitdown` module's integration with `mammoth` properly handles these link types. This work **improves test coverage** for the `markitdown` parser, confirming its ability to semantically process and resolve relative links, thereby enhancing the reliability of document conversions.Oct 203maint
9278119This commit delivers a **bug fix** addressing an issue where **`markitdown`**'s **DOCX conversion** process struggled with linked images. A **workaround** has been implemented in the `_docx_converter.py` module to explicitly disable the processing of these external image references by overriding the `mammoth` library's file opening behavior. This change ensures that DOCX files containing linked images can be converted without errors, significantly improving the **stability and reliability of the conversion subsystem**. The package version is also updated to `0.1.3` to reflect this critical improvement.Aug 263waste
3bfb821This commit introduces a **new feature** that allows the **MarkItDown MCP server** to dynamically control the enablement of its plugin system. It modifies the `markitdown-mcp` package to read the `MARKITDOWN_ENABLE_PLUGINS` environment variable, which now dictates whether plugins are active during markdown conversion. Specifically, the `convert_to_markdown` function in `markitdown_mcp/__main__.py` now utilizes a new `check_plugins_enabled` function to determine plugin status. This change also updates the `Dockerfile` to set this environment variable by default, providing a straightforward way to configure plugin behavior for the service, especially in **containerized deployments**.Jun 32grow
1dd3c83This commit performs a **maintenance** update by promoting the **`markitdown` package** from its alpha release `0.1.2a1` to the stable version `0.1.2`. It specifically modifies the version string within the `markitdown/__about__.py` file to reflect this change. This **version bump** officially marks the release of `markitdown` version `0.1.2`, making it available for general use and indicating a stable build for consumers of the package.May 281maint
9dc982aThis commit **enhances the `markitdown-mcp` server's transport options** by introducing a new `--http` argument. This **feature addition** allows users to run the server with streamable HTTP, providing a more modern and flexible transport mechanism. Concurrently, the older `--sse` argument is **deprecated** in favor of the new `--http` option, streamlining the **command-line interface**. The **documentation** in `packages/markitdown-mcp/README.md` has also been updated to reflect these changes, clarifying transport type descriptions and correcting command examples for running the server. This change encourages the adoption of more robust HTTP streaming while maintaining backward compatibility for a transition period.May 232grow
effde47This commit performs **maintenance** by **bumping the version numbers** for the **`markitdown`** and **`markitdown-mcp`** Python packages. Specifically, the `markitdown` package is updated from `0.1.1` to `0.1.2a1`, and `markitdown-mcp` is updated from `0.0.1a3` to `0.0.1a4`. This change prepares the project for a **new pre-release**, making alpha versions available for early testing and integration. The update affects the core `markitdown` library and its related `mcp` component, signaling progress towards the next stable release.May 212maint
bbcf876This commit performs a **security refactoring** within the **`markitdown` package**, specifically updating its **EPUB and RSS converters**. It replaces the standard library `minidom` XML parser with the more robust and secure `defusedxml` library in both `_epub_converter.py` and `_rss_converter.py`. This change enhances the application's resilience against various XML-related vulnerabilities when processing external content. Additionally, type hints for DOM document and element objects were updated to reflect the new parsing library, improving code clarity and maintainability.May 213maint
9e067c4This commit introduces a **new capability** to the `markitdown` package, significantly enhancing the integration and configurability of **Azure Doc Intelligence**. It allows users to directly pass `AzureKeyCredentials` to the `DocumentIntelligenceConverter` and provides **fine-grained control over supported file types** through a new `DocumentIntelligenceFileType` enum. The `MarkItDown` constructor now propagates these `docintel_credential` and `docintel_file_types` options, simplifying the configuration process. This enhancement streamlines the setup for Azure Doc Intelligence, offering greater flexibility in processing various document formats.Mar 263grow
9a95105This commit **updates the project documentation** by adding a new tip section to the `README.md` file. This **documentation update** provides a direct link to the **MarkItDown MCP package**, enhancing user guidance and discoverability for this related component. The change primarily affects the **project's `README.md`**, ensuring users can easily find relevant external resources.Mar 251maint
73b9d57This commit performs **documentation maintenance** by updating the PyPI version and download badges within the `README.md` files of the **`markitdown-mcp`** and **`markitdown-sample-plugin`** subpackages. It **fixes incorrect package name references** in these badges, changing them from the generic `markitdown` to their specific, correct package names. This ensures that the displayed badges accurately reflect and link to the respective packages on PyPI, improving the clarity and reliability of the project's documentation for users.Mar 252maint
3ca5798This commit introduces a **new MarkItDown MCP (Multi-Content Protocol) server** using Server-Sent Events (SSE), establishing a foundational component for multi-content processing. It adds the `markitdown-mcp` package, including its main entry point in `src/markitdown_mcp/__main__.py` which defines the `convert_to_markdown` tool and server startup logic. This work is a **new capability**, providing initial support for MarkItDown as an MCP server. It also includes a `Dockerfile` for containerization and updated `README.md` documentation with usage instructions, Docker setup, and integration details for Claude Desktop. This significantly expands MarkItDown's interoperability and deployment options.Mar 258grow
c1f9a32This commit performs a **version bump** for the **`markitdown` package**, updating its internal version number from `0.1.0` to `0.1.1` within the `__about__.py` file. This **maintenance** task signifies a new minor release or a collection of small changes and fixes integrated into the package. The update ensures that users and package managers correctly identify the latest iteration of the `markitdown` library.Mar 251maint
e928b43This commit introduces a **new feature** to the `markitdown` package by **enhancing its URI handling capabilities** to support `data:` and `file:` URIs. The existing `convert_url` function in `_markitdown.py` has been **renamed to `convert_uri`** and refactored to accommodate these new URI schemes, leveraging new utility functions like `file_uri_to_path` and `parse_data_uri` in `_uri_utils.py`. This change allows `markitdown` to process a wider range of embedded or referenced content, significantly improving its versatility. Comprehensive **test cases** were added across `test_module_misc.py` and `test_module_vectors.py` to validate the new parsing and conversion logic.Mar 254maint
2ffe6eaThis commit **releases version `0.1.0`** of the **`markitdown` package**, updating the internal version from `0.1.0a6`. It includes crucial **documentation updates** in the `README.md` to reflect the new stable release. Specifically, the installation command is updated, and a **breaking change note** is added regarding the input requirements for the `convert_stream()` function. This ensures users are informed about the latest package version and critical API changes, making it a significant **maintenance and documentation update**.Mar 222maint
eaef7baThis commit introduces **Docker-out-of-Docker support** within the **AGBench** framework, enabling scenarios where agent teams relying on the `DockerCommandLineExecutor` can execute Docker commands from within a Dockerized AGBench environment. This **new capability** is primarily implemented in the `run_scenario_in_docker` function, which now conditionally mounts the host's Docker socket and sets the `HOST_WORKSPACE` environment variable. This enhancement is crucial for accurate benchmarking and testing, as it ensures consistent behavior for local executors and improves the fidelity of test environments.Mar 212grow
63cbbd9Mar 30

This commit implements a crucial **security enhancement** and **documentation update** for the `markitdown-mcp` package. It introduces a **runtime security warning** that is emitted to `stderr` if the HTTP server is configured to bind to a non-localhost interface, directly impacting the server's startup behavior in `packages/markitdown-mcp/src/markitdown_mcp/__main__.py`. Concurrently, the `packages/markitdown-mcp/README.md` has been significantly updated to include this important warning, clarify usage instructions, and expand on general security considerations. This ensures users are proactively informed about potential security implications of their server configuration, improving overall security posture and user guidance.

3 filesmaint
4a5340fFeb 20

This commit performs a **version bump** for the **`markitdown`** package, updating its internal version string from `0.1.5b2` to `0.1.5` within the `__about__.py` file. This **maintenance chore** signifies the preparation for a stable release, moving the package out of its beta phase. It ensures that the distributed package correctly reflects its official version, providing clarity for users and downstream dependencies.

2 filesmaint
2b6ec9fFeb 13

This commit introduces a **new feature** to the **`markitdown` package** by adding `text/markdown` to the `Accept` header of its HTTP request session. This modification, implemented during the session's initialization, explicitly signals a preference for markdown content when the package makes web requests. The change enhances content negotiation, potentially improving compatibility and ensuring the correct content type is received from servers that offer markdown.

1 filesgrow
dde250aDec 1

This commit performs essential **dependency maintenance** by updating the required versions of the `mammoth` and `pdfminer.six` libraries. A key aspect of this change is addressing **CVE-2025-64512** in `pdfminer.six` by ensuring a minimum patched version is used, thereby enhancing the project's **security posture**. Consequently, the **`markitdown`** package's own version is incremented to `0.1.4` in `markitdown/__about__.py`, reflecting these critical updates. This ensures that `markitdown` users benefit from improved security and updated external library functionality.

2 filesmaint
3d4fe3cOct 20

Upgrade mammoth to 1.11.0 (#1452)

2 files–
447c047Oct 20

This commit introduces a **new test case** within the `markitdown` package to specifically verify the correct resolution of "rlinks" (resource links) when processing documents. The **test enhancement** adds `test_doc_rlink` to `packages/markitdown/tests/test_module_misc.py`, ensuring that the `markitdown` module's integration with `mammoth` properly handles these link types. This work **improves test coverage** for the `markitdown` parser, confirming its ability to semantically process and resolve relative links, thereby enhancing the reliability of document conversions.

3 filesmaint
9278119Aug 26

This commit delivers a **bug fix** addressing an issue where **`markitdown`**'s **DOCX conversion** process struggled with linked images. A **workaround** has been implemented in the `_docx_converter.py` module to explicitly disable the processing of these external image references by overriding the `mammoth` library's file opening behavior. This change ensures that DOCX files containing linked images can be converted without errors, significantly improving the **stability and reliability of the conversion subsystem**. The package version is also updated to `0.1.3` to reflect this critical improvement.

3 fileswaste
3bfb821Jun 3

This commit introduces a **new feature** that allows the **MarkItDown MCP server** to dynamically control the enablement of its plugin system. It modifies the `markitdown-mcp` package to read the `MARKITDOWN_ENABLE_PLUGINS` environment variable, which now dictates whether plugins are active during markdown conversion. Specifically, the `convert_to_markdown` function in `markitdown_mcp/__main__.py` now utilizes a new `check_plugins_enabled` function to determine plugin status. This change also updates the `Dockerfile` to set this environment variable by default, providing a straightforward way to configure plugin behavior for the service, especially in **containerized deployments**.

2 filesgrow
1dd3c83May 28

This commit performs a **maintenance** update by promoting the **`markitdown` package** from its alpha release `0.1.2a1` to the stable version `0.1.2`. It specifically modifies the version string within the `markitdown/__about__.py` file to reflect this change. This **version bump** officially marks the release of `markitdown` version `0.1.2`, making it available for general use and indicating a stable build for consumers of the package.

1 filesmaint
9dc982aMay 23

This commit **enhances the `markitdown-mcp` server's transport options** by introducing a new `--http` argument. This **feature addition** allows users to run the server with streamable HTTP, providing a more modern and flexible transport mechanism. Concurrently, the older `--sse` argument is **deprecated** in favor of the new `--http` option, streamlining the **command-line interface**. The **documentation** in `packages/markitdown-mcp/README.md` has also been updated to reflect these changes, clarifying transport type descriptions and correcting command examples for running the server. This change encourages the adoption of more robust HTTP streaming while maintaining backward compatibility for a transition period.

2 filesgrow
effde47May 21

This commit performs **maintenance** by **bumping the version numbers** for the **`markitdown`** and **`markitdown-mcp`** Python packages. Specifically, the `markitdown` package is updated from `0.1.1` to `0.1.2a1`, and `markitdown-mcp` is updated from `0.0.1a3` to `0.0.1a4`. This change prepares the project for a **new pre-release**, making alpha versions available for early testing and integration. The update affects the core `markitdown` library and its related `mcp` component, signaling progress towards the next stable release.

2 filesmaint
bbcf876May 21

This commit performs a **security refactoring** within the **`markitdown` package**, specifically updating its **EPUB and RSS converters**. It replaces the standard library `minidom` XML parser with the more robust and secure `defusedxml` library in both `_epub_converter.py` and `_rss_converter.py`. This change enhances the application's resilience against various XML-related vulnerabilities when processing external content. Additionally, type hints for DOM document and element objects were updated to reflect the new parsing library, improving code clarity and maintainability.

3 filesmaint
9e067c4Mar 26

This commit introduces a **new capability** to the `markitdown` package, significantly enhancing the integration and configurability of **Azure Doc Intelligence**. It allows users to directly pass `AzureKeyCredentials` to the `DocumentIntelligenceConverter` and provides **fine-grained control over supported file types** through a new `DocumentIntelligenceFileType` enum. The `MarkItDown` constructor now propagates these `docintel_credential` and `docintel_file_types` options, simplifying the configuration process. This enhancement streamlines the setup for Azure Doc Intelligence, offering greater flexibility in processing various document formats.

3 filesgrow
9a95105Mar 25

This commit **updates the project documentation** by adding a new tip section to the `README.md` file. This **documentation update** provides a direct link to the **MarkItDown MCP package**, enhancing user guidance and discoverability for this related component. The change primarily affects the **project's `README.md`**, ensuring users can easily find relevant external resources.

1 filesmaint
73b9d57Mar 25

This commit performs **documentation maintenance** by updating the PyPI version and download badges within the `README.md` files of the **`markitdown-mcp`** and **`markitdown-sample-plugin`** subpackages. It **fixes incorrect package name references** in these badges, changing them from the generic `markitdown` to their specific, correct package names. This ensures that the displayed badges accurately reflect and link to the respective packages on PyPI, improving the clarity and reliability of the project's documentation for users.

2 filesmaint
3ca5798Mar 25

This commit introduces a **new MarkItDown MCP (Multi-Content Protocol) server** using Server-Sent Events (SSE), establishing a foundational component for multi-content processing. It adds the `markitdown-mcp` package, including its main entry point in `src/markitdown_mcp/__main__.py` which defines the `convert_to_markdown` tool and server startup logic. This work is a **new capability**, providing initial support for MarkItDown as an MCP server. It also includes a `Dockerfile` for containerization and updated `README.md` documentation with usage instructions, Docker setup, and integration details for Claude Desktop. This significantly expands MarkItDown's interoperability and deployment options.

8 filesgrow
c1f9a32Mar 25

This commit performs a **version bump** for the **`markitdown` package**, updating its internal version number from `0.1.0` to `0.1.1` within the `__about__.py` file. This **maintenance** task signifies a new minor release or a collection of small changes and fixes integrated into the package. The update ensures that users and package managers correctly identify the latest iteration of the `markitdown` library.

1 filesmaint
e928b43Mar 25

This commit introduces a **new feature** to the `markitdown` package by **enhancing its URI handling capabilities** to support `data:` and `file:` URIs. The existing `convert_url` function in `_markitdown.py` has been **renamed to `convert_uri`** and refactored to accommodate these new URI schemes, leveraging new utility functions like `file_uri_to_path` and `parse_data_uri` in `_uri_utils.py`. This change allows `markitdown` to process a wider range of embedded or referenced content, significantly improving its versatility. Comprehensive **test cases** were added across `test_module_misc.py` and `test_module_vectors.py` to validate the new parsing and conversion logic.

4 filesmaint
2ffe6eaMar 22

This commit **releases version `0.1.0`** of the **`markitdown` package**, updating the internal version from `0.1.0a6`. It includes crucial **documentation updates** in the `README.md` to reflect the new stable release. Specifically, the installation command is updated, and a **breaking change note** is added regarding the input requirements for the `convert_stream()` function. This ensures users are informed about the latest package version and critical API changes, making it a significant **maintenance and documentation update**.

2 filesmaint
eaef7baMar 21

This commit introduces **Docker-out-of-Docker support** within the **AGBench** framework, enabling scenarios where agent teams relying on the `DockerCommandLineExecutor` can execute Docker commands from within a Dockerized AGBench environment. This **new capability** is primarily implemented in the `run_scenario_in_docker` function, which now conditionally mounts the host's Docker socket and sets the `HOST_WORKSPACE` environment variable. This enhancement is crucial for accurate benchmarking and testing, as it ensures consistent behavior for local executors and improves the fidelity of test environments.

2 filesgrow

Work Patterns

Beta

Commit activity distribution by hour and day of week. Shows when this developer is most active.

Collaboration

Beta

Developers who frequently work on the same files and symbols. Higher score means stronger code collaboration.

NavigaraNavigara
OrganizationsDistributionCompareResearch