Skip to content

Commit 7f368cf

Browse files
committed
Archive TODO roadmap
Mark TODO.org as historical, add a brief current-work note, and collapse the unplanned section into an archived summary.
1 parent 4e4003a commit 7f368cf

File tree

1 file changed

+16
-60
lines changed

1 file changed

+16
-60
lines changed

TODO.org

Lines changed: 16 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,14 @@
44
#+LINK: Issue https://github.com/evolve75/RubyTree/issues/%s
55
#+LINK: Pull https://github.com/evolve75/RubyTree/pull/%s
66

7+
* Note
8+
This file is a historical archive of release-era checklists (mostly R0.x–R2.x).
9+
Current work should live in GitHub Issues/Projects and release checklists.
10+
11+
* Current / Next
12+
- Track active work in GitHub Issues and the release checklist for the target version.
13+
- Keep this file for historical reference only.
14+
715
* R0.7.0 :ARCHIVE:
816
*** DONE Start using signed tags from R0.7.0 :ARCHIVE:
917
*** DONE Add a check in the Tree::TreeNode.add method to prevent addition of nil child nodes :ARCHIVE:
@@ -210,63 +218,11 @@
210218
- [X] Update the documentation to reflect the modernization changes.
211219

212220

213-
* Unplanned / Not assigned to any release
214-
*** STARTED Convert all documentation to markdown mode.
215-
*** STARTED [#A] Resolve the infinite loop bug if a node is added to itself as a child :Partial:
216-
[[Issue:5][Issue #5.]]
217-
218-
This is a subtle problem to resolve. The specific case of a node
219-
being added to itself is trivial to resolve, and the fix has been
220-
put in for 0.8.3.
221-
222-
However, the general problem is that in the current code, a node
223-
can be added as a child to any portion of the tree down the
224-
hierarchy (e.g., as a grandchild), which will need a more thorough
225-
detection code in the ~TreeNode#add~ method, if it is to be done at
226-
runtime.
227-
228-
The issue is really to prevent the tree becoming a graph. Note
229-
that the issue is with duplicate nodes, /not/ duplicated content.
230-
231-
A few options exist:
232-
1. Perform a runtime check in the ~TreeNode#add~ method. This will
233-
cause a performance hit as the tree becomes larger.
234-
2. Allow the additions to go through, but create a new ~validate~
235-
method that checks for such cycles.
236-
3. Create separate configuration object which can be attached to
237-
the root of the tree, which allows per-tree configuration of
238-
the behavior - this does allow for the user to take control,
239-
but also introduces complications during tree mergers and
240-
spitting subtrees.
241-
4. Create a registry (to be maintained at the root?) of all nodes,
242-
and use this for validating the node additions (and preventing
243-
duplicates). This needs to be a hash (to allow O(1) access),
244-
and will sacrifice memory. There might be a need to
245-
restructure the internals to make better use of memory.
246-
*** TODO Expand the examples section, and add supporting documentation
247-
248-
*** TODO Create a cycle-detection/validation mechanism to prevent cyclic graphs of nodes.
249-
*** TODO Create a generic validation method to check for various issues in the created tree.
250-
*** TODO Add a FAQ document to the project.
251-
*** TODO The semantic of length is probably unclear. Should return the node_depth instead (or remove the method)
252-
The current equivalence of length to size should also be removed.
253-
254-
*** TODO Create the basic UML diagrams and upload to the Site
255-
DEADLINE: <2010-01-04 Mon>
256-
257-
*** TODO Add a YAML export method to the TreeNode class.
258-
259-
*** TODO marshal_load method probably should be a class method. It currently clobbers self.
260-
*** DONE Revert the forced install of rubygem 2.1.11 from [[file:.travis.yml][.travis.yml]] :ARCHIVE:
261-
CLOSED: [2014-01-12 Sun 19:06]
262-
The issue seems to have been resolved with the 2.2.1 release of Rubygems.
263-
*** DONE [#A] Migrate the website and references from http://rubyforge.org/ :ARCHIVE:
264-
CLOSED: [2014-07-04 Fri 22:18]
265-
*** DONE Fix bug # [[http://rubyforge.org/tracker/index.php%3Ffunc%3Ddetail&aid%3D22535&group_id%3D1215&atid%3D4793][22535]]: The method Tree::TreeNode#depth is a misnomer. The current definition actually provides the height function. :ARCHIVE:
266-
DEADLINE: <2010-01-09 Sat> CLOSED: [2010-01-03 Sun 22:15]
267-
268-
*** DONE Get the version control moved from CVS to Subversion (request submitted to RubyForge) :ARCHIVE:
269-
CLOSED: [2010-01-02 Sat 17:58]
270-
271-
*** DONE Add logic in Rakefile to read the file list from Manifest.txt file. :ARCHIVE:
272-
CLOSED: [2009-12-31 Thu 23:37]
221+
* Unplanned / Not assigned to any release :ARCHIVE:
222+
This section is retained for historical context. Active items should be tracked in GitHub.
223+
224+
*** DONE Convert all documentation to markdown mode. :ARCHIVE:
225+
Followed by ongoing maintenance in README and API-CHANGES.
226+
227+
*** DONE Resolve the infinite loop bug if a node is added to itself as a child :ARCHIVE:
228+
[[Issue:5][Issue #5.]] is now addressed by cycle detection and validation guards.

0 commit comments

Comments
 (0)